Expressions constantes C++
Une valeur constante est une valeur qui ne change pas. C++ fournit deux mots clés qui vous permettent d'exprimer l'intention qu'un objet n'est pas destiné à être modifié, et d'appliquer cette intention.
C++ requiert des expressions constantes (expressions qui ont pour valeur une constante) pour les déclarations des éléments suivants :
Limites d'index de tableau
Sélecteurs dans les instructions case
Spécification de longueur de champ de bits
Initialiseurs d'énumération
Les seuls opérandes autorisés dans les expressions constantes sont :
Literals
Constantes d'énumération
Valeurs déclarées comme const qui sont initialisées avec des expressions constantes
Expressions
sizeof
Les constantes non intégrales doivent être converties (explicitement ou implicitement) en types intégraux pour être autorisées dans une expression constante. Par conséquent, le code suivant est conforme :
const double Size = 11.0;
char chArray[(int)Size];
Les conversions explicites en types intégraux sont légales dans des expressions constantes ; tous les autres types et types dérivés sont interdits, sauf lorsqu’ils sont utilisés en tant qu’opérandes pour l’opérateur sizeof
.
L'opérateur virgule et les opérateurs d'assignation de virgule ne peuvent pas être utilisés dans les expressions constantes.