實施例:析構函數如何去除嵌套的堆棧類型?
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