Различия atexit () и at_quick_exit () - PullRequest
0 голосов
/ 16 мая 2018

В чем разница между atexit() и at_quick_exit()?
Все ли функции, которые мы регистрируем в atexit (), должны быть также зарегистрированы в at_quick_exit ()?
Например, пользовательские функции Phoenix-Singleton или что-то еще.

1 Ответ

0 голосов
/ 16 мая 2018

Ну, с at_quick_exit :

Registers the function pointed to by func to be called on quick program termination (via std::quick_exit). ... The registered functions will not be called on normal program termination. If a function need to be called in that case, std::atexit must be used.

Функции, зарегистрированные на atexit(), вызываются на exit().Функции, зарегистрированные в at_quick_exit(), вызываются в quick_exit().
Другое отличие состоит в том, что at_quick_exit() доступно из C ++ 11 и недоступно в C.

...