在C/C++中, atexit() 函數用于注冊程序退出時需要調用的函數,即使程序通過 main() 函數返回、 exit() 函數退出或異常終止,這些注冊的函數也會被執行。以下是其詳細用法:
1. 函數原型與頭文件
#include <cstdlib> // C++中需包含此頭文件
int atexit(void (*function)());
- 參數: function 是一個指向無參數、無返回值函數的指針。
- 返回值:成功時返回0,失敗時返回非0值(極少出錯)。
2. 基本用法示例
#include <iostream>
#include <cstdlib>
// 程序退出時執行的函數
void exitHandler() {
std::cout << "程序即將退出,執行清理操作\n";
}
int main() {
// 注冊退出函數:atexit()可多次調用,按注冊順序的逆序執行
atexit(exitHandler);