C 和 C++ 中的 exit() 与 _Exit() 函数
cc++server side programmingprogramming
在本节中,我们将了解 C 和 C++ 中 exit() 与 _Exit() 之间的区别。在 C 中,exit() 终止调用进程而不执行 exit() 函数之后的剩余代码。
在 C++11 中,出现了一个名为 _Exit() 的新函数。那么这个函数有什么特点呢?exit() 函数在终止程序之前执行一些清理。它清除连接终止、缓冲区刷新等。这个 _Exit() 函数不会清理任何东西。如果我们使用 atexit() 方法进行测试,它将不起作用。
让我们看两个例子,首先我们使用 exit() 函数,然后在下一个
示例
#include<bits/stdc++.h> using namespace std; void my_function(void) { cout << "退出程序"; } int main() { atexit(my_function); exit(10); }
输出
退出程序
示例
#include<bits/stdc++.h> using namespace std; void my_function(void) { cout << "退出程序"; } int main() { atexit(my_function); _Exit(10); }
输出
在这种情况下,输出为空白。什么都没有发生。