C++11 introduces a new way of finishing program execution—std::quick_exit.
Quoting the N3242 18.5 (p. 461):
[[noreturn]] vo
The rationale for std::quick_exit is discussed in N1327 and N2440. The key differences between quick_exit, _Exit, and exit concerns the handling of static destructors and flushing critical information to stable storage:
std::_Exit: doesn't execute static destructors or flush critical IO.std::exit: executes static destructors and flushes critical IO.std::quick_exit: doesn't execute static destructors, but does flush critical IO.(As mentioned, std::abort just sends SIGABRT.)