Expressions constantes C++
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 :
Littéraux
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 autorisées dans les expressions constantes ; tous les autres types et types dérivés ne sont pas autorisés lorsqu'ils sont utilisés en tant qu'opérandes par rapport à 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.