Initialiser un tableau Const dans un initialiseur de classe en C
En C , l'initialisation d'un tableau const dans la liste d'initialisation d'une classe peut sembler comme un défi en raison de la restriction du mot-clé const sur la modification en fonction. Cependant, cette tâche est rendue possible avec l'introduction de C 11.
Auparavant, l'initialisation d'un tableau const dans le corps du constructeur n'était pas viable. Les tentatives en ce sens, comme dans l'exemple de code fourni, ont entraîné des erreurs. En effet, les variables const ne peuvent pas être modifiées après l'initialisation.
Cependant, en C 11, une solution est apparue : initialiser le tableau dans la liste d'initialisation du constructeur. Cette approche nous permet de spécifier directement les éléments du tableau :
<code class="cpp">struct a { const int b[2]; // other stuff follows // Here's the constructor a() : b{2, 3} { // other constructor work } };</code>
Dans cet exemple, le tableau b est initialisé avec les éléments {2, 3}. Cette initialisation garantit que les valeurs de b restent constantes tout au long de la durée de vie de l'objet.
Il est important de noter que différentes instances de la classe a peuvent avoir des valeurs différentes pour b. Cependant, les valeurs d'une instance spécifique restent constantes une fois le constructeur exécuté. Ce comportement distingue ces tableaux des tableaux non const, qui peuvent être modifiés au cours de la vie de l'objet.
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!