在一个函数内,申明一个局部类变量。则这个变量什么时候析构呢? 并不是在函数退出,释放栈空间时候析构消亡,而是在打括号终结时。(搞了这么多年c++,这点都没搞清楚,只能说明基础不扎实阿)。举例如下
#include
#include
class TT
{
public:
TT();
~TT();
};
TT::TT()
{
printf("construct\n");
}
TT::~TT()
{
printf("destruct\n");
}
int main()
{ int n=2;
// while(n>0)
{
TT t1;
// sleep(1);
printf("000000\n")
} //此处析构
printf("1111111111\n");
return 0;
}
输出:
construct
000000
destruct
1111111111
而不是
construct
000000
1111111111
destruct
阅读(3109) | 评论(1) | 转发(1) |