在main函數執行結束後,還想繼續執行一段甚至多段代碼,這就需要用_onexit註冊一個函數,使該函數在main結束後執行。_onexit(funname);其中參數是一個函數名,且該函數無參數,返回值爲int。看代碼:
#include <iostream>
using namespace std;
int fun1()
{
cout<<"this is in func1 \n";
return 1;
}
int fun2()
{
cout<<"this is in func2 \n";
return 1;
}
void main()
{
_onexit(fun1);
_onexit(fun2);
cout<<"this is in main\n";
}
運行結果如下:
先執行main中的輸出,跳過了註冊的函數,main結束後逆序執行註冊的main外執行的函數體