>>730
ヘッダ部分を除いたデータ部分としては完全に同じといっても過言ではないんだけど、
ptr = new TYPE; とした場合は、C++ の仕様上は
メモリブロックの先頭に「配列の場合には埋め込まれるところの要素数」をコンパイラは
必ずしも埋め込まなくても良いという事になっていて、その場合、delete 命令から見ると、
要素数1の配列とは同じではない。ただし、VC++ の場合には、危険を避けるため、
delete と delete [] は、どちらを書いても問題なく動作するようになっている
という文書を読んだ事が有る。

(C++元々の)仕様は、なるべくメモリ使用量も検査量も少なくして効率を上げる、
という哲学から来るものなんだけど、型検査をがちがちにして安全性を高めている一方で、
非常に危険な仕様になっていると言えなくもない。ただし、TYPE が小さなオブジェクトの
場合、new TYPE において、メモリブロックのヘッダ部分を配列と同じ構造にしてしまうの
は、結構、メモリの無駄使いにはなる。ただし、それもC#なんかの無駄と比べれば
すずめの涙程度の全然問題ない程度のものではある。しかし、それだけ、C++が効率が
良いはずではある。