これまでの私の理解では、クラスオブジェクトのベクトルがある場合、ベクトルのメンバーを消去すると、通常、ベクトルはメモリの連続性を維持するためにオブジェクトの一部を再割り当てします。したがって、ベクター メンバーを消去するときにすべてを保持するには、3 つのルール (デストラクタ、コピー コンストラクタ、およびコピー代入演算子) を実装する必要があります。
ただし、クラスオブジェクトへのポインターのベクトルの場合、結果はあまり明確ではありません。メンバーを消去すると、確かにC++はポインターをコピーするだけで十分にスマートです-ポインター(およびそれが指すクラスオブジェクト)を狂ったように削除してから、それとそれが指すオブジェクトを再作成しませんか?
そうでない場合、誰かがこのばかげたことを私に説明できますか?