码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 局部变量的析构

时间:2015-05-08 14:41:18      阅读:159      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!