-1

我想释放类中定义的对象的内存

class A
{
     A() {} //Constructor
    //Other Definitions go here
}

Class B
{
   B(){} //Constructor
   ~B()
{
   //what should I do to release the memory location of A's object
   //Shall I call default destructor of A 
}
private:
A objA;
}
4

1 回答 1

3

你不需要做任何事情来释放objAclass占用的内存B。当对象的内存被释放时,内存会自动B释放。

objAB不破坏B包含objA.

您可以显式调用析构objA函数,但这不会释放任何内存。当您之后访问时,它只会导致未定义的行为objA。并且很可能objA 在之后被访问,因为当 C++ 运行时销毁B对象时,它会调用objA.

于 2013-07-15T09:33:25.233 回答