c – exit(0)vs return 0
发布时间:2020-12-16 03:08:40 所属栏目:百科 来源:网络整理
导读:When exit(0) is used to exit from program,destructors for locally scoped non-static objects are not called. But destructors are called if return 0 is used.Note that static objects will be cleaned up even if we call exit(). 这个逻辑背后应该
这个逻辑背后应该有一些理由.我只是想知道是什么?谢谢. 解决方法
在exit(0)的情况下,你正在调用一个函数.您
不要指望调用局部变量的析构函数 你正在调用一个函数.而编译器不知道, 一个先验,有什么特别的退出(0). 其实这个理由真的只适用于C之前例外.该标准可以重新定义exit()来抛出实现使用参数定义异常,并指定对main的调用被包裹在一个try块中这个异常,并将返回码传回系统.这意味着退出有一个完全不同的然而,C和C语义;无论如何,没有提出委员会提出的这一改变. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |