根据C++参考
exit
正常终止进程,执行常规清理
用于终止程序。
正常的程序终止执行以下操作(以相同的顺序):
与当前线程关联并具有线程存储的对象
持续时间被破坏(仅限 C++11)。具有静态存储的对象
持续时间被破坏(C++)并且使用 atexit 注册的函数被破坏
叫。所有 C 流(使用 中的函数打开)都被关闭
(如果有缓冲,则刷新),并且使用 tmpfile 创建的所有文件都是
已删除。控制权返回到宿主环境。
请注意,具有自动存储功能的对象不会通过调用而被销毁
退出(C++)。
据我所知,当进程终止时,进程使用的所有存储都会被回收,那么自动存储的对象不被销毁有什么影响呢?
如果不调用这些析构函数,则不会发生它们的副作用:释放其他进程中的资源、删除该文件夹之外的临时文件、刷新非 c 流文件等
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)