Maison  >  Article  >  développement back-end  >  Comment initialiser un tableau constant dans un initialiseur de classe en C ?

Comment initialiser un tableau constant dans un initialiseur de classe en C ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-06 03:44:02378parcourir

How to Initialize a Constant Array in a Class Initializer in C  ?

Initialisation d'un tableau constant dans un initialiseur de classe en C

En C, l'initialisation d'un tableau constant dans la liste d'initialisation d'une classe nécessite une procédure légèrement différente approche plutôt que d’initialiser d’autres variables membres. Explorons le cas où le tableau constant est censé avoir des valeurs spécifiques à une instance.

Considérons la classe suivante :

<code class="cpp">class a {
public:
    const int b[2];
};</code>

Pour initialiser b avec des valeurs spécifiques dans la liste d'initialisation du constructeur, utilisez la syntaxe suivante :

<code class="cpp">a::a() : b{2, 3} {
    // Other initialization stuff
}</code>

Cette approche s'appuie sur la syntaxe de liste d'initialisation entre accolades de C 11, qui vous permet d'initialiser un tableau constant dans l'initialiseur de classe. Voici un exemple :

<code class="cpp">struct a {
    const int b[2];

    // Constructor
    a() : b{2, 3} {}
};

int main() {
    a a;
}</code>

Dans cet exemple, chaque instance de a aura un tableau b unique avec les valeurs spécifiées. Notez que cette technique n'est pas disponible dans C 98 ou dans les versions antérieures.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn