abort,exit,return 的区别
来源:互联网 发布:微信群营销软件 编辑:程序博客网 时间:2024/05/23 19:19
exit():
在调用时,会做大部分清理工作,但是决不会销毁局部对象,因为没有stack unwinding。
会进行的清理工作包括:销毁所有static和global对象,清空所有缓冲区,关闭所有I/O通道。终止前会调用经由atexit()登录的函数,atexit如果抛出异常,则调用terminate()。
abort():
调用时,不进行任何清理工作。直接终止程序。
retrun:
调用时,进行stack unwinding,调用局部对象析构函数,清理局部对象。如果在main中,则之后再交由系统调用exit()。
return返回,可析构
main或函数中的局部变量,尤其要注意局部对象,如不析构可能造成
内存泄露。exit返回不析构main或函数中的局部变量,但执行收工函数,
故可析构全局变量(对象)。abort不析构main或函数中的局部变量,也不
执行收工函数,故全局和局部对象都不析构。
所以,用return更能避免内存泄露,在C++中用abort和exit都不是好
习惯.
阅读全文
0 0
- abort,exit,return 的区别
- exit abort return 区别
- exit abort return 区别
- exit(),_exit(),return,abort()函数的区别
- return abort exit函数的区别
- return、exit和abort的区别
- C++中的return, exit 与 abort 的区别
- exit()函数,_exit()函数,return关键字,abort()函数的区别
- abort exit return 三者区别
- atexit、exit、return、abort
- Exit和Abort的区别
- exit(0),abort()的区别
- abort()与exit()的区别?
- abort与Exit的区别
- abort()和exit()的区别
- C++中abort和exit的区别
- exit() abort() 区别
- exit(0) exit(1) return 的区别
- java集合关系继承图
- MySQL导入大批Excel数据
- C/C++ 练习题
- string小技巧
- Linux中如何停止kibana
- abort,exit,return 的区别
- ListView中包含EditText,修改并保存EditText中内容的处理办法
- redis-JedisPoolConfig配置
- PHPWAMP内置IIS管理器一键搭建PHP网站,支持无限个不同PHP版本同时运行
- http://blog.csdn.net/paincupid/article/details/47746341
- 获取 AWS 免费套餐
- HDU1166——树状数组模板
- js银行卡每四位加空格正则表达式
- JAVA设计模式之单例模式