频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

C++中的EXIT与析构函数

来源:blog 作者: 出处:巧巧读书 2007-12-12 进入讨论组
  • 关 键 词:
  • c++

  几乎在每本课本中几乎都是这样写的,当一个类实例化以后,必将执行构造函数,那么在该类被释放的时候,必将执行析构函数。似乎在人们的印象里,构造函数与析构函数如同一对双胞胎一样,执行完构造函数,必将会执行析构函数......

  今天我做了个实验,彻底的推翻了这个理论。代码如下:

#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......就这样......静态页面:http://www.qqread.com/cpp/p202205.html 更多文章 更多内容请看C/C++技术专题专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
较早的文章:C++ 对象与数组

较新的文章:用C语言描述数据结构
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章