operator newを書くなら、operator delete も書こう 10項

これはnew/deleteの実装をしたことがある人ならすぐ分かると思う。
newで割り当てられたメモリは、サイズとポインタという情報を持っていなければならず、deleteではその情報を元にメモリを解放する。


newから返るのは、ポインタだけなので、サイズ情報が別の場所に格納されているということになる。
たとえば実装例としては、割り当てるメモリ領域を多めにして、ヘッダ情報を付加したりする場合があります。


つまり、newの裏では実装依存で他の情報を保持しているので、別のdeleteで解放することはできないわけです。

Effective C++ 【改訂第2版】 アスキーアジソンウェスレイシリーズ―Ascii Addison Wesley programming seriesを1項ずつ読んでいます。