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

atexit

Материал из cppreference.com

<metanoindex/>

<tbody> </tbody>
Определено в заголовочном файле <stdlib.h>
int atexit( void (*func)() );
Регистрирует функцию, на которую указывает func называть на нормальное завершение программы (через exit() или возвращения из main()).
Оригинал:
Registers the function pointed to by func to be called on normal program termination (via exit() or returning from main()).
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вызов функции из нескольких потоков не вызывает данным гонке. Реализация должна поддерживать регистрацию по крайней мере функции 32.
Оригинал:
Calling the function from several threads does not induce a data race. The implementation shall support the registration of at least 32 functions.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Параметры

func
Указатель на функцию, которая вызывается на нормальное завершение программы
Оригинал:
pointer to a function to be called on normal program termination
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Возвращаемое значение

0, если регистрация прошла успешно, ненулевое значение в противном случае.
Оригинал:
0 if the registration succeeds, nonzero value otherwise.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Исключения

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

Пример

#include <stdlib.h>
#include <stdio.h>

void f1()
{
    puts("pushed first");
}

void f2()
{
    puts("pushed second");
}

int main()
{
    atexit(f1);
    atexit(f2);
}

Вывод:

pushed second
pushed first

См. также

регистрирует функцию, вызываемую при вызове quick_exit
(функция) [править]