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);
}

输出

在这种情况下,输出为空白。什么都没有发生。

相关文章