![]() ![]() |
|
C++中的EXIT与析构函数 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/3/16 9:43:56 文章录入:杜斌 责任编辑:杜斌 | |
|
|
今天我做了个实验,彻底的推翻了这个理论。代码如下: #include "stdafx.h" using namespace std; class mycs { public: mycs() { cout<<"构造函数"<<endl; exit(1); } ~mycs() { cout<<"析构函数"<<endl; } }; mycs cs; int _tmain(int argc, _TCHAR* argv[]) { return 0; } 在构造函数中执行了EXIT函数,那么必然不执行析构函数。但是这个EXIT放在其他地方,析构函数是会执行的。我猜理由如下: 因为EXIT的优先级比析构函数的优先级高,EXIT执行完以后,自动把权限返回给了OS......就这样...... |
|
![]() ![]() |