void foo() { std::cout<< "Exiting" << std::endl; }
由于信号,退出()调用等,何时程序存在,无论何时何地退出,怎么注册?
std::atexit
#include <cstdlib> void exiting() { std::cout << "Exiting"; } int main() { std::atexit(exiting); }
系统将保留一个以atexit注册的功能堆栈,并在调用退出函数或程序从main返回时按照与注册相反的顺序调用它们.您可以通过这种方式注册至少32个函数.