现在的位置: 首页 > 综合 > 正文

abort exit return 三者区别

2013年05月18日 ⁄ 综合 ⁄ 共 460字 ⁄ 字号 评论关闭

在华中科技大学《C++程序设计实践教程》中,谈到这一区别:
    按面向对象的思想,程序也是一个对象,因此,程序也有生有死。
C++在编译一个程序后,这样执行程序:(1)执行开工函数,此时对
程序初始化,主要指全局变量初始化。(2)调用main函数。(3)执行
收工函数,对全局变量(对象)进行析构。所以如下程序会有输出,
尽管main函数为空:
    #include <stdio.h>
    int  x=printf("ABCDEF");
    void main( ){ }
    现在,来谈abort和exit以及return的区别。return返回,可析构
main或函数中的局部变量,尤其要注意局部对象,如不析构可能造成
内存泄露。exit返回不析构main或函数中的局部变量,但执行收工函数,
故可析构全局变量(对象)。abort不析构main或函数中的局部变量,也不
执行收工函数,故全局和局部对象都不析构。
    所以,用return更能避免内存泄露,在C++中用abort和exit都不是好
习惯。
    请给分。

抱歉!评论已关闭.