C++标准提供了一个std::set_terminate函数,它允许您指定std::terminate实际调用的函数.std::terminate应该只在严峻的情况下被调用,并且确定标准在被调用时所描述的情况是可怕的(例如未被捕获的异常).什么std::terminate时候被调用,这种情况似乎与失去记忆相似 - 你可以理智地做到这一点.
我已经读过它可以用来确保释放资源 - 但是对于大多数资源,这应该在进程退出时由OS自动处理(例如文件句柄).从理论上讲,我可以看到一个案例,如果说,你需要在退出时由于崩溃而向服务器发送特定的消息.但是OS操作的大部分时间应该足够了.
何时使用终止处理程序Right Thing(TM)?
从这个答案:什么是C++终止处理程序右Thing(TM)?
当应用程序退出时,操作系统会自动清理"是"和"不"的资源列表会很不错.在您的回答中,如果您可以指定操作系统/资源并且最好是指向某个文档(如果适用)的链接,那将是很好的.
显而易见的一个:
内存:是自动清理.题.有没有例外?