Espacios de nombres
Variantes
Acciones

std::_Exit

De cppreference.com
< cpp‎ | utility‎ | program
 
 
Biblioteca de servicios
 
Servicios de apoyo de programa
Terminación del programa
(C++11)
_Exit
(C++11)
Comunicación con el entorno
Señales
Tipos de señales
Saltos no locales
Tipos
 
Definido en el archivo de encabezado <cstdlib>
[[noreturn]] void _Exit( int exit_code ) noexcept;
(desde C++11)

Causa que ocurra la terminación normal del programa sin limpiar completamente los recursos.

No se llama a los destructores de variables con duraciones de almacenamiento automática, local al hilo y estática. No se llama a las funciones pasadas a std::at_quick_exit() o std::atexit(). Está definido por la implementación si se cierran o no recursos abiertos, tales como archivos.

Si exit_code es 0 o EXIT_SUCCESS, se devuelve un estatus definido por la implementación que indica terminación con éxito al entorno anfitrión. Si exit_code es EXIT_FAILURE, se devuelve un estatus definido por la implementación que indica terminación sin éxito. En otros casos se devuelve un valor de estatus definido por la implementación.

Contenido

[editar] Parámetros

exit_code - Estatus de salida del programa.

[editar] Valor de retorno

(Ninguno)

[editar] Ejemplo

#include <iostream>
 
class Static {
public:
    ~Static() 
    {
        std::cout << "destructor de Static \n";
    }
};
 
class Local {
public:
    ~Local() 
    {
        std::cout << "destructor de Local\n";
    }
};
 
Static static_variable; // no se llamará al destructor de este objeto
 
void atexit_handler()
{
    std::cout << "controlador de atexit\n";
}
 
int main()
{
    Local local_variable; // no se llamará al destructor de este objeto
 
    // no se llamará al controlador
    const int result = std::atexit(atexit_handler);
 
    if (result != 0) {
        std::cerr << "falla al registrarse con atexit\n";
        return EXIT_FAILURE;
    }
 
    std::cout << "prueba" << std::endl; // vaciar desde std::endl
        // necesita estar aquí, de otra forma no se imprimirá nada
    std::_Exit(EXIT_FAILURE);
}

Salida:

prueba


[editar] Véase también

Produce la terminación anormal del programa (sin limpiar).
(función) [editar]
Produce la terminación normal del programa con limpieza.
(función) [editar]