std::quick_exit
cppreference.com
<tbody>
</tbody>
[[noreturn]] void quick_exit( int exit_code ); |
( C++11) | |
.
, std::at_quick_exit, , . , std::terminate. std::_Exit(exit_code).
, std::atexit, .
| exit_code |
()
#include <cstdlib>
#include <iostream>
template <int N>
void quick_exit_handler()
{
std::cout << " quick_exit #" << N << std::endl; //
}
void at_exit_handler()
{
std::cout << " at_exit\n";
}
int main()
{
if ( std::at_quick_exit( quick_exit_handler<1> ) or
std::at_quick_exit( quick_exit_handler<2> ) )
{
std::cerr << " \n";
return EXIT_FAILURE;
}
std::atexit( at_exit_handler ); //
struct R { ~R() { std::cout << "\n"; } } resource;
/*...*/
std::quick_exit( EXIT_SUCCESS );
std::cout << " ...\n";
}
:
quick_exit #2
quick_exit #1
| ( ) () | |
| () | |
| , std::exit() () | |
(C++11) |
, std::quick_exit () |
C quick_exit
| |