何时类的非指针成员被破坏?例如:
class foo {
private:
int a;
public:
foo(int sa):a(sa){}
~foo(){}//does anything need to be done here?
};
{
foo(10);
}//the destructor is called
是否应该在析构函数内完成任何事情?谢谢!
答案 0 :(得分:2)
不,不是一件事。在析构函数中的任何代码完成后,a
将被销毁。在这种情况下,您甚至不需要声明析构函数;编译器会自己做正确的事情。
答案 1 :(得分:1)
在执行对象的析构函数后,对象的内容将按照它们在类定义中出现的相反顺序进行销毁。
答案 2 :(得分:0)
在包含对象的析构函数完成后,对象的非指针成员被破坏。