Defined in header <cstdlib>
[[noreturn]] void exit( int exit_code );
void exit( int exit_code );
Causes normal program termination to occur.
Several cleanup steps are performed:
- destructors of objects with thread local storage duration are called
- destructors of objects with static storage duration are called
- functions passed to std::atexit are called. If an exception tries to propagate out of any of the function, std::terminate is called
- all C streams are flushed and closed
- files created by std::tmpfile are removed
- control is returned to the host environment. If
exit_codeis EXIT_SUCCESS, an implementation-defined status, indicating successful termination is returned. If
exit_codeis EXIT_FAILURE, an implementation-defined status, indicating unsuccessful termination is returned. In other cases implementation-defined status value is returned.
Destructors of variables with automatic storage durations are not called.
|exit_code||-||exit status of the program|
 Return value
|This section is incomplete|
Reason: no example
 See also
| causes abnormal program termination (without cleaning up) |
| registers a function to be called on exit() invocation |
| causes normal program termination without completely cleaning up |
C documentation for exit