ちょっと話ズレるんですけど、実体で持つ場合とポインタで持つ場合の違いで
クラスAがクラスBをメンバに持ちたい時
実体持ちの場合のクラスAのサイズ=sizeof(クラスA)+sizeof(クラスB)
ポインタ持ちの場合=sizeof(クラスA)+sizeof(ポインタ)
となって、実体持ちだとコピーの時にオーバーヘッドが発生
という事であってますか?

更に突っ込んで、実体持ちだとクラスBの実装が変わってサイズも変わったりすると
クラスAに関しても再コンパイルが必要になるけど
ポインタ持ちだとクラスBの再コンパイルだけでいいって事であってますか?