C++相談室 part7
■ このスレッドは過去ログ倉庫に格納されています
0154デフォルトの名無しさん
NGNGデストラクタとdeleteの本体は全く別物ですから、deleteは正しく行われます。
しかし、オブジェクトの中で新たに領域を動的に確保していた場合などは、
その領域は残ってしまいます。
例えば下の例ですと、int* pの指す領域が開放されずに残ります。
class A {
int a;
};
class B : public A {
int* p;
public:
B() { p = new int; }
~B { delete p; }
}
int main()
{
A* a = new B;
delete a;
}
■ このスレッドは過去ログ倉庫に格納されています