c++11提供了atexit函数,其作用是注册函数。当main函数执行完后,继续运行注册的函数。
函数特点:
1、注册函数的运行是逆序的。就是说先注册A函数,然后注册B函数。运行时,先运行B函数,然后运行A函数;
2、同一个函数可以注册多次;
#include <cstdlib>
#include <stdio.h>
#include <iostream>
using namespace std;
void fn1()
{
cout << "This is fn1 func" << endl;
}
void fn2()
{
cout << "This is fn2 func" << endl;
}
int main( void )
{
atexit( fn1 );
atexit( fn2 );
cout << "main func finsh" << endl;
}