私が持っているとしましょう:
class A {
public:
A(HWND hwnd, HWND hwnd2);
~A();
int i;
HWND hwndFrame;
HWND hwndCanvas;
bool bool;
};
class B {
public:
B(HWND hwnd);
~B();
HWND hwndFrame;
Vec<A *> vecA; // class Vec is implemented by someone else.
};
私が作成したとしましょう:
A * elementA1 = new A(...);
A * elementA2 = new A(...);
B * element B = new B(...);
B->vecA.Append(A1);
B->vecA.Append(A2);
ある時点で、上記のオブジェクトをすべて削除したいと思います(したがって、それらはメモリに存在しなくなります)。
私はそれを行う方法が非常に混乱しています。
私の質問は次のとおりです。
delete hwndFrame
デストラクタを入れると~A();
、本当に削除されますかdelete A
?hwndFrame
デストラクタでは、ベクトルとその要素が指すコンテンツ、つまり、とが指すコンテンツを(メモリから)取得
~B()
するために私がしなければならないこと。delete
B->vecA
A1
A2