Maison >développement back-end >C++ >Comment initialiser les membres d'un tableau « const » en C à l'aide des listes d'initialisation de constructeur ?

Comment initialiser les membres d'un tableau « const » en C à l'aide des listes d'initialisation de constructeur ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-03 17:26:03574parcourir

How to Initialize `const` Array Members in C   Using Constructor Initialization Lists?

Utilisation de listes d'initialisation de constructeur pour initialiser les membres d'un tableau Const

En C , les membres de classe avec le qualificatif const sont considérés comme constants et ne peuvent pas être modifiés après initialisation. Cela soulève la question de savoir comment initialiser ces membres dans les listes d'initialisation de classe. Considérez la définition de classe suivante :

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

Il n'est pas possible d'initialiser arr dans le corps de la fonction constructeur car il est déclaré const. Cependant, C 11 a introduit une nouvelle fonctionnalité qui permet d'initialiser les membres const dans la liste d'initialisation du constructeur.

<code class="cpp">struct MyClass {
    const int arr[2];

    MyClass() :
        arr{ 2, 3 }
{
    // Other construction logic
}
};</code>

Dans cet exemple, le membre arr est initialisé avec les valeurs {2, 3} dans la liste d'initialisation du constructeur. . Cela permet la création de plusieurs instances de MyClass avec différentes valeurs constantes pour arr.

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