C 和 C++ 中的 exit() vs _Exit() 函数


在本节中,我们将了解 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 << "Exiting from program";
}
int main() {
   atexit(my_function);
   exit(10);
}

输出

Exiting from program

示例

 在线演示

#include<bits/stdc++.h>
using namespace std;
void my_function(void) {
   cout << "Exiting from program";
}
int main() {
   atexit(my_function);
   _Exit(10);
}

输出

In this case the output is blank. Nothing has come.

更新日期: 2019 年 7 月 30 日

374 次浏览

开启你的 职业生涯

通过完成课程来获得认证

开始
广告