これは、私が持っているいくつかのコードの簡略化されたバージョンです。pointerB
inclass A
はポインターに設定されているため、割り当てられたメモリを指すクライアント コードでは、デストラクタで指定されたメモリも削除されたらbeta
解放する必要がありますか?pointerB
class A
class A{
public:
A(B* beta){
pointerB = beta;
}
~A(){
/*
would deleting pointerB be necessary
*/
}
B* pointerB;
};
class B{
public:
B();
};
//client code
B* beta = new B();
A* alpha = new A(beta);
//do stuff
delete beta;
delete alpha;
beta = NULL;
alpha = NULL;