析构函数要求程序终止

Ano*_*ous 3 c++ destructor

在main()函数中创建一个对象时,它的析构函数是否在程序终止时被调用?我会假设,因为main()仍然有一个范围(整个程序),但我只是想确定.

R S*_*hko 16

这取决于您的程序如何终止.如果它通过主返回终止(通过显式返回或从结尾掉落),则是,将破坏main中的任何自动对象.

但是如果你的程序通过调用exit()终止,那么main实际上不会超出范围,并且不会破坏任何自动对象.