Пространства имён
Варианты
Действия

std::_Exit

Материал из cppreference.com
< cpp‎ | utility‎ | program
 
 
 
Коммунальные услуги Программа поддержки
Программа прекращения
Оригинал:
Program termination
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
abort
exit
quick_exit(C++11)
_Exit(C++11)
Взаимодействие с окружающей средой
Оригинал:
Communicating with the environment
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Сигналы
Оригинал:
Signals
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Сигнал типа
Оригинал:
Signal types
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
SIGABRT
SIGFPE
SIGILL
SIGINT
SIGSEGV
SIGTERM
Нелокальные переходы
Оригинал:
Non-local jumps
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
setjmp
longjmp
Типы
Оригинал:
Types
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
jmp_buf
 
Определено в заголовочном файле <cstdlib>
[[noreturn]] void _Exit( int exit_code );
(начиная с C++11)

Вызывает обычное завершение программы без любой очистки ресурсов.

Деструкторы переменных с автоматическим, потоковым и статическим временем хранения не вызываются. Функции, переданные в std::at_quick_exit() и std::atexit() не вызываются. Тем не менее закрытие открытых ресурсов, таких как файлы, зависит от реализации.

Если exit_code равен 0 или EXIT_SUCCESS, зависимый от реализации код, обозначающий успешное выполнение, отправляется в среду выполнения. Если exit_code равен EXIT_FAILURE, зависимый от реализации код, обозначающий неудачное выполнение программы, отправляется в среду выполнения, иначе отправляется код, определённый реализацией.

Содержание

[править] Параметры

exit_code - Код статуса завершения программы

[править] Возвращаемое значение

(none)

[править] Исключения

спецификация noexcept:  
noexcept
  

[править] Пример

#include <iostream>
 
class Static {
public:
    ~Static() 
    {
        std::cout << "конструктор статического объекта\n";
    }
};
 
class Local {
public:
    ~Local() 
    {
        std::cout << "конструктор локального объекта\n";
    }
};
 
Static static_variable; // деструктор этого объекта НЕ будет вызван
 
void atexit_handler()
{
    std::cout << "Обработчик atexit\n";
}
 
int main()
{
    Local local_variable; // деструктор этого объекта НЕ будет вызван
 
    // обработчик НЕ будет вызван.
    const int result = std::atexit(atexit_handler);
 
    if (result != 0) {
        std::cerr << "регистрация atexit неудачна\n";
        return EXIT_FAILURE;
    }
 
    std::cout << "проверка" << std::endl; // очистка буфера для std::endl
        // необходима здесь, иначе ничего не напечатается.
    std::_Exit(EXIT_FAILURE);
}

Вывод:

проверка

[править] Cм. также

Вызывает аварийное завершение программы (без очистки)
(функция) [править]
Вызывает нормальное завершение программы с очисткой
(функция) [править]
C documentation for _Exit