C++ Reference: Standard C++ Library reference: C Library: cstdlib: exit

C++官网参考答案:https://cplusplus.com/reference/cstdlib/exit/

函数 
<cstdlib>
exit
C
void exit (int status);
C++
[[noreturn]] void exit (int status);
终止调用进程
正常终止进程,为终止程序执行普通清理。
正常的程序终止执行以下操作(以相同的顺序): 
与当前线程关联的具有线程存储期的对象将被销毁(仅适用于C++11)。
具有静态存储期的对象将被销毁(C++),并调用在atexit中注册的函数。
所有C流(使用<cstdio>中的函数打开)将被关闭(如果缓冲,将被刷新),使用tmpfile创建的所有文件将被删除。
控制返回到宿主环境。
注意,具有自动存储的对象不会通过调用exit来销毁(C++)。
如果status为0或EXIT_SUCCESS,则向宿主环境返回一个成功的终止状态。
如果status为EXIT_FAILURE,则向宿主环境返回不成功的终止状态。
否则,返回的状态取决于系统和库实现。
对于不执行上述清理的类似函数,请参阅quick_exit

形参
status
状态码。
如果这是0或EXIT_SUCCESS,则表示成功。
如果是EXIT_FAILURE,则表示失败。

返回值
没有返回值(函数从不返回)。

用例
/* exit example */
#include <stdio.h>      /* printf, fopen */
#include <stdlib.h>     /* exit, EXIT_FAILURE */

int main ()
{
  FILE * pFile;
  pFile = fopen ("myfile.txt","r");
  if (pFile==NULL)
  {
    printf ("Error opening file");
    exit (EXIT_FAILURE);
  }
  else
  {
    /* file operations here */
  }
  return 0;

数据竞争
调用此函数会破坏所有具有静态存储期的对象:运行有多个线程的程序不应该调用exit(有关不影响静态对象的类似函数,请参阅quick_exit)。 

异常(C++) 
无抛出保证:此函数从不抛出异常。
如果上面描述的程序终止过程抛出异常,则自动调用terminate

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_40186813

你的能量无可限量。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值