newすると、アロケーターがメモリブロックを確保する。
ヒープを開放するときは、そのブロックごとに削除する。
newや、deleteすると、メモリブロックを検索しないとだめなので、newやdeleteは、結構時間がかかったりする。
しばしば、クラスのサイズを小さくするために、
class Piyo1; class Piyo2; class Piyo3; class Hoge{ Piyo1 *piyo1; Piyo2 *piyo2; Piyo3 *piyo3; };
と書いたりするが、
おとなしく、
#include "piyo1.h" #include "piyo2.h" #include "piyo3.h" class Hoge{ Piyo1 piyo1; Piyo2 piyo2; Piyo3 piyo3; };
っと、書いてしまった方がよい場合もある。
ケースバイケースかと思われ。