これが私の構造Aです
struct A {
int a1;
int a2;
~A() { }
};
B
Aへのポインタを含む別の構造体です
struct B {
B(int b, A* a)
: b1(b), ptr2A(a)
{}
int b1;
A* ptr2A;
~B() {
delete b1;
// traverse each element pointed to by A, delete them <----
}
};
後で私は以下のコードを使用します
int bb1;
vector <A*> aa1;
// do some stuff
B *ptrB = new B(bb1, aa1);
ptrBが指すすべてのメモリを削除/解放する必要があります。したがって、構造体B内に正しいデストラクタを記述する必要があります。Aが指す各要素をトラバースして削除するにはどうすればよいですか?