Запуск и завершение программ C++
Программы на языке C++ выполняет те же операции, что и программы на языке C при запуске программы и при завершении программы, а также несколько дополнительных операций, описанных здесь.
Перед вызовом целевой средой функции main
и после сохранения всех константных начальных значений, указанных вами во всех объектах, имеющих статическую длительность, программа выполняет все оставшиеся конструкторы для таких статических объектов. Порядок выполнения разных записей преобразования не указан, но тем не менее можно предположить, что некоторые объекты iostreams правильно инициализированы для использования этими статическими конструкторами. Это следующие управляющие текстовые потоки.
cin — для стандартного ввода.
cout — для стандартного вывода.
cerr — для стандартного вывода ошибки без буферизации.
clog — для стандартного вывода ошибки буферизацией.
Эти объекты также можно использовать в деструкторах, вызываемых для статических объектов, во время завершения программы.
Как и в C, возврат из main
или вызов exit
вызывает все функции, зарегистрированные с atexit
, в обратном порядке из реестра. Исключение, созданное такой зарегистрированной функцией, вызывает terminate
.
См. также
Общие сведения о стандартной библиотеке C++
Потокобезопасность в стандартной библиотеке C++