На этом шаге мы перечислим определения <cstdlib>.
В таблице 1 перечислены важнейшие определения из заголовочного файла <cstdlib>. Две константы - EXIT_SUCCESS и EXIT_FAILURE - определяются для аргумента функции exit(), но они также могут использоваться при возврате значения функцией main().
Идентификатор | Описание |
---|---|
exit (int код) | Выход из программы (с уничтожением статических объектов) |
EXIT_SUCCESS | Признак нормального завершения программы |
EXIT_FAILURE | Признак ненормального завершения программы |
abort() | Аварийное завершение программы (в некоторых системах может привести к сбоям) |
atexit(void (*функция)()) | Вызов заданной функции при завершении |
Функция atexit() регистрирует функции, которые должны быть вызваны при завершении программы. Вызов происходит в порядке, обратном порядку регистрации, и без передачи аргументов. Программа может быть завершена как вызовом exit(), так и при достижении конца функции main().
Функции exit() и abort() позволяют завершить программу в любой функции без возврата в main().
Ни одна из этих функций не уничтожает локальные объекты, поскольку раскрутка стека не выполняется. Чтобы обеспечить вызов деструкторов всех локальных объектов, воспользуйтесь исключениями или обычным механизмом возврата и выхода из main().
Со следующего шага мы начнем знакомиться с библиотекой STL.