< cpp‎ | utility‎ | program
Revision as of 09:13, 9 June 2013 by P12 (Talk | contribs)

Defined in header <cstdlib>
             void exit( int exit_code );
(until C++11)
[[noreturn]] void exit( int exit_code );
(since C++11)

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_code is EXIT_SUCCESS, an implementation-defined status, indicating successful termination is returned. If exit_code is 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



See also

causes abnormal program termination (without cleaning up)
(function) [edit]
registers a function to be called on std::exit() invocation
(function) [edit]
causes quick program termination without completely cleaning up
(function) [edit]