首页 > 编程语言 > 详细

C++ 局部变量的析构

时间:2015-05-08 14:39:27      阅读:249      评论:0      收藏:0      [点我收藏+]

http://blog.chinaunix.net/uid-52437-id-2108747.html

在一个函数内,申明一个局部类变量。则这个变量什么时候析构呢? 并不是在函数退出,释放栈空间时候析构消亡,而是在打括号终结时。(搞了这么多年c++,这点都没搞清楚,只能说明基础不扎实阿)。举例如下

#include <stdio.h>
#include <unistd.h>
class TT
{
        public:
        TT();
        ~TT();
};
TT::TT()
{
        printf("construct\n");
}
TT::~TT()
{
        printf("destruct\n");
}
int main()
{       int n=2;
        {
                TT t1;
                printf("000000\n")
        } //此处析构

        return 0;
}
输出:
construct
000000
destruct
1111111111

而不是
construct
000000
1111111111
destruct

 

初始化的知识点

Test::Test(int a)

  :ma(false),    //ma=false

  :mp(b)   //mp = b

{

}

C++ 局部变量的析构

原文:http://www.cnblogs.com/maxpak/p/4487456.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!