Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2335557
  • 博文数量: 168
  • 博客积分: 3184
  • 博客等级: 中校
  • 技术积分: 3959
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-12 18:57
文章存档

2019年(1)

2018年(2)

2017年(3)

2016年(15)

2015年(10)

2014年(60)

2011年(1)

2010年(76)

分类: LINUX

2010-03-24 09:36:05

 按面向对象的思想,程序也是一个对象,因此,程序也有生有死。
C++在编译一个程序后,这样执行程序:(1)执行开工函数,此时对
程序初始化,主要指全局变量初始化。(2)调用main函数。(3)执行
收工函数,对全局变量(对象)进行析构。所以如下程序会有输出,
尽管main函数为空:
    #include 
    int  x=printf("ABCDEF");
    void main( ){ }
    现在,来谈abort和exit以及return的区别。return返回,可析构
main或函数中的局部变量,尤其要注意局部对象,如不析构可能造成
内存泄露。exit返回不析构main或函数中的局部变量,但执行收工函数,
故可析构全局变量(对象)。abort不析构main或函数中的局部变量,也不
执行收工函数,故全局和局部对象都不析构。
    所以,用return更能避免内存泄露,在C++中用abort和exit都不是好
习惯。
阅读(1141) | 评论(0) | 转发(0) |
0

上一篇:assert的用法

下一篇:open和fopen的区别

给主人留下些什么吧!~~