Share via


Inicio y terminación de un programa de C++

Un programa de C++ realiza las mismas operaciones que un programa de C al inicio del programa y en la finalización del programa, además de algunas más que se describen aquí.

Antes de que el entorno de destino llame a la función main, y después de que almacene cualquier valor inicial constante que especifique en todos los objetos que tienen duración estática, el programa ejecuta los constructores restantes de esos objetos estáticos. No se especifica el orden de ejecución entre unidades de traducción, pero puede suponer que algunos objetos iostreams se inicializan correctamente para que los usen estos constructores estáticos. Estos flujos de texto de control son:

  • cin: para la entrada estándar.

  • cout: para la salida estándar.

  • cerr: para la salida de error estándar no almacenado en el búfer.

  • clog: para la salida de error estándar almacenado en el búfer.

También puede usar estos objetos dentro de los destructores a los que llaman los objetos estáticos, durante la finalización del programa.

Al igual que con C, al volver de main o llamar a exit, se llama a todas las funciones registradas con atexit en orden inverso de registro. Una excepción producida a partir de una función registrada de ese tipo llama a terminate.

Consulte también

Información general sobre la biblioteca estándar de C++
Seguridad para subprocesos en la biblioteca estándar de C++