1 cstddef内的各项定义
说明:
c++使用nullptr替代NULL;
2cstdlib
说明:
atexit()函数注册的函数,在程序退出时候按照注册的顺序相反被调用;
exit()和abort()终止程序,不会返回main();
exit()会销毁所有的static对象,然后清空缓冲区,关闭i/o,然后终止程序,终止前先调用atexit()注册的函数,如果atexit()注册的函数抛出异常,调用terminate();
abort()立即终止,不做清理工作;
exit()和abort()都不会销毁局部对象,如果想要销毁局部对象,需要运用异常或者正常返回机制,然后从main()退出程序;
c++11起,quick_exit()不在摧毁对象,而是调用先前被at_quick_exit()注册的函数,然后调用_Exit()结束程序,不带任何析构或者清理动作;意味着quick_exit()和_Exit()都不会清空缓冲区;
3 cstring