Démarrage et terminaison de programme C++

Un programme C++ exécute les mêmes opérations qu’un programme C au démarrage et à l’arrêt du programme, plus quelques autres décrites ici.

Avant que l’environnement cible n’appelle la fonction main et une fois qu’il a stocké toutes les valeurs initiales constante spécifiées dans tous les objets qui ont une durée statique, le programme exécute tous les constructeurs restants pour ces objets statiques. L’ordre d’exécution n’est pas spécifié entre les unités de traduction, mais vous pouvez néanmoins supposer que certains objets iostreams sont initialisés correctement pour être utilisés par ces constructeurs statiques. Ces flux de texte de contrôle sont :

  • cin, pour une entrée standard.

  • cout, pour une sortie standard.

  • cerr, pour une sortie d’erreur standard sans mémoire tampon.

  • clog, pour une sortie d’erreur standard avec mémoire tampon.

Vous pouvez également utiliser ces objets dans les destructeurs appelés pour les objets statiques pendant l’arrêt du programme.

Comme avec C, le retour de main ou l’appel de exit appelle toutes les fonctions enregistrées avec atexit dans l’ordre inverse du Registre. Une exception levée par une de ces fonctions enregistrées appelle terminate.

Voir aussi

Vue d’ensemble de la bibliothèque standard C++
Sécurité des threads dans la bibliothèque C++ Standard