クラス内にクラスがあり、ネストされたクラス
class A {
public:
int a;
int b;
class B {
int c;
int d;
}
}
その過程で、クラスBのオブジェクトポインタをヒープに割り当てます。
B *bobj = new B();
A *a;
auto_ptr<A> A1(new A());
a = A1.release();
aを削除bobj
しますか?
delete a;
または、サブクラスポインタも明示的に削除する必要がありますか?
これは私が書いたものではないコードにあります。すべてのallocとdeallocにログを配置しましたがB *bobj = new B()
、これには削除がなく、Aのオブジェクトptrには削除があることがわかります。それでもメモリリークはありません。そのため、このシナリオで何が起こるのか疑問に思いました。