Заголовочные файлы и . Определения

   
На этом шаге мы перечислим определения <cstdlib>.

   
В таблице 1 перечислены важнейшие определения из заголовочного файла <cstdlib>. Две константы -
EXIT_SUCCESS и EXIT_FAILURE - определяются для аргумента функции exit(), но они также могут
использоваться при возврате значения функцией main().

Таблица 1. Определения <cstdlib>

Идентификатор Описание
exit (int код) Выход из программы (с уничтожением статических объектов)
EXIT_SUCCESS Признак нормального завершения программы
EXIT_FAILURE Признак ненормального завершения программы
abort() Аварийное завершение программы (в некоторых системах может привести к сбоям)
atexit(void (*функция)()) Вызов заданной функции при завершении

   
Функция atexit() регистрирует функции, которые должны быть вызваны при завершении программы. Вызов происходит в
порядке, обратном порядку регистрации, и без передачи аргументов. Программа может быть завершена как вызовом exit(), так
и при достижении конца функции main().

   
Функции exit() и abort() позволяют завершить программу в любой функции без возврата в main().

  • Функция exit() уничтожает все статические объекты, сбрасывает на диск содержимое буферов, закрывает все каналы
    ввода-вывода и завершает программу с вызовом функций, зарегистрированных функцией atexit(). Если в зарегистрированных
    функциях происходят исключения, вызывается функция terminate().
  • Функция abort() немедленно прекращает работу программы без выполнения завершающих действий.

   
Ни одна из этих функций не уничтожает локальные объекты, поскольку раскрутка стека не выполняется. Чтобы обеспечить вызов
деструкторов всех локальных объектов, воспользуйтесь исключениями или обычным механизмом возврата и выхода из main().

   
Со следующего шага мы начнем знакомиться с библиотекой STL.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий