最終更新日時:
が更新

履歴 編集

function
<cstdlib>

std::at_quick_exit(C++11)

namespace std {
  extern "C"   int at_quick_exit(void (*f)(void)) noexcept; // (1)
  extern "C++" int at_quick_exit(void (*f)(void)) noexcept; // (2)
}

概要

quick_exit関数でプログラムが終了するときに呼ばれる関数を登録する。

効果

この関数に指定した関数は、std::quick_exit()関数が呼び出された際に呼び出される。

指定された関数の中で例外が送出された場合、std::terminate()関数が呼び出され、プログラムが異常終了する。

戻り値

関数の登録に成功した場合は0が返り、失敗した場合は非0が返る。

備考

この関数では、複数の関数を登録できる。

登録できる上限数は実装定義だが、32個以上は登録できることが実装に要求される。

#include <iostream>
#include <cstdlib>

void on_exit()
{
  std::cout << "on exit" << std::endl;
}

int main()
{
  std::at_quick_exit(on_exit);
  std::quick_exit(0);
}

出力

on exit

バージョン

言語

  • C++11

処理系

参照