例子:
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”将在 main 中的 foo() 之后被删除,或者仍然存在于堆中?