【发布时间】:2013-04-03 11:03:24
【问题描述】:
当 exit(0) 用于退出程序时,本地的析构函数 范围内的非静态对象不被调用。但是析构函数是 如果使用 return 0 则调用。注意静态对象将是 即使我们调用 exit() 也会清理干净。
这个逻辑背后应该有一些原因。我只是想知道它是什么?谢谢。
【问题讨论】:
-
这与上面引用的问题完全不同。他显然很熟悉所引用问题的答案(
exit不调用本地析构函数。他在问为什么。 -
@JamesKanze 好的。我们在这方面有点太快了。投票重新提出问题,删除了反对票。
-
即使链接到问题中接受的答案给出了原因的提示(“exit() 不返回”),我同意它肯定不是重复的。这是一个完全不同的问题。
标签: c++ return destructor exit