微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

main() 中的 return 语句与 exit()

如何解决main() 中的 return 语句与 exit()

其实 还是 有区别的,但是很微妙。它对 C++ 有更多的影响,但差异很重要。

当我调用returnmain(),将为我的本地范围对象调用析构函数。如果我调用exit(), 再读一遍。exit() 。这意味着,一旦我称它为,就“没有后盾”。您在该函数中创建的任何对象都不会被销毁。通常这没有任何影响,但有时确实如此,例如关闭文件(您肯定希望所有数据都刷新到磁盘吗?)。

请注意,static即使您调用exit(). 最后请注意,如果您使用abort(),则不会销毁任何对象。也就是说,不会调用全局对象、静态对象和局部对象的析构函数

http://groups.google.com/group/gnu.gcc.help/msg/8348c50030cfd15a

解决方法

我应该使用exit()还是只使用return语句main()?就我个人而言,我喜欢这些return陈述,因为我觉得它就像阅读任何其他函数一样,并且当我阅读代码时流程控制很流畅(在我看来)。即使我想重构main()函数,拥有return似乎比exit().

做一些没有exit()做的特别的事情return吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。