Initialiseurs
Les déclarateurs peuvent spécifier la valeur initiale pour les objets.La seule façon de spécifier une valeur pour les objets de type de const est dans le déclarateur.La partie du déclarateur qui spécifie la valeur initiale est appelée l'initialiseur.Il existe deux types fondamentaux d'initialiseurs :
Initialiseurs appelés à l'aide de la syntaxe de signe égal, y compris les initialiseurs globaux :
= expression = { expression-list } = { { expression-list}, {expression-list}, . . . }
Initialiseurs appelés à l'aide de la syntaxe de style fonction :
( expression )
Seuls les objets de classes avec des constructeurs peuvent être initialisés avec la syntaxe de style fonction.Les deux formes de syntaxe diffèrent également dans le contrôle d'accès et dans l'utilisation potentielle des objets temporaires.Prenons le code suivant, qui illustre des déclarateurs avec des initialiseurs :
int i = 7; // Uses equal-sign syntax.
Customer Cust( "Taxpayer, Joe", // Uses function-style
"14 Cherry Lane", // syntax. Requires presence
"Manteca", // of a constructor.
"CA" );
Les déclarations d'automatique, du registre, de la méthode statique, les variables externes peuvent contenir des initialiseurs.Toutefois, les déclarations de variables externes peuvent contenir des initialiseurs uniquement si les variables ne sont pas déclarées comme extern.
Ces initialiseurs peuvent contenir des expressions qui impliquent des constantes et des variables dans la portée actuelle.L'expression d'initialiseur est évaluée au point que la déclaration est produite dans déroulement du programme, ou, pour les objets statiques globales et les variables, au démarrage du programme.(Pour plus d'informations sur l'initialisation des objets statiques globales, consultez considérations de démarrage supplémentaires.)
Rubriques de cette section :