Partager via


Considérations supplémentaires de démarrage

En C++, la construction d'objet et la destruction peuvent impliquer exécuter le code utilisateur.Par conséquent, il est important de comprendre les initialisations arrivent avant entrée à principal et les destructeurs sont appelés après sortie de principal.(Pour plus d'informations sur la construction et la destruction des objets, consultez constructeurs et le destructeurs.)

les initialisations suivantes ont lieu avant l'entrée à principal:

  • initialisation par défaut des données statiques à zéro.Toutes les données statiques sans initialiseurs explicites sont définies à zéro avant d'exécuter tout autre code, y compris l'initialisation à l'exécution.Les données membres static doivent encore être définies explicitement.

  • Initialisation des objets statiques globales dans une unité de traduction.Cela peut se produire avant qu'entrée à principal ou avant la première utilisation de toute fonction ou objet dans l'unité de traduction de l'objet.

Spécifique à Microsoft

Dans Microsoft C++, les objets statiques globaux sont initialisés avant entrée à principal.

TERMINEZ le détail de Microsoft

Les objets statiques globales qui sont mutuellement interdépendants mais dans des unités de traduction peuvent provoquer un comportement incorrect.

Voir aussi

Référence

Démarrage et arrêt (C++)