实施例:析构函数如何去除嵌套的堆栈类型?
class A
{
char * data;
...
A(){data = new char[50];}
~A(){delete [] data;}
};
class B
{
A a;
B();
// default destructor
}
void foo()
{
B b;
}
int main()
{
foo();
// "A.data" still in the heap or no?
}
该程序被正确和“A.data”将在主FOO()之后去除,或将在堆中还存在吗?
对不起,修正。问题依然存在。 – 2013-04-21 21:19:22