您的位置:首页 > 编程语言 > C语言/C++

C++ 构造函数与析构函数详解(一)---局部变量

2015-08-24 15:05 633 查看
对一个局部变量的构造函数将在控制线程每次通过该变量的声明时执行;每次当控制离开该局部变量所在的块时,就会去执行它的析构函数。一组局部变量的析构函数将按构造它们的相反顺序执行。例如:

#include<iostream>
using namespace std;

class Test
{
public:
Test(){cout << "调用默认构造函数"<<endl;};
~Test(){cout << "调用析构函数~" <<endl;}
};
void f()
{
int i = 2;
Test aa;
Test bb;
if(i>0)
{
Test cc;
}
Test dd;

}
int main()
{
f();
system("pause");
return 0;
}

在这里每次f()被调用时将构造起aa,bb和dd(按此顺序);而每次从f()里返回时,dd、bb、aa将(按此顺序)被析构。 对于变量i>0时,cc将在bb之后构造,并在dd构造之前被析构。

上面代码运行结果如下:
调用默认构造函数
调用默认构造函数
调用默认构造函数
调用析构函数~
调用默认构造函数
调用析构函数~
调用析构函数~
调用析构函数~
请按任意键继续...


参考资料: C++程序设计语言 (C++之父)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: