メモリブロックについて

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;
};

っと、書いてしまった方がよい場合もある。
ケースバイケースかと思われ。