Expressions constantes C++
C++ nécessite des expressions constantes - expressions qui correspondent à une constante - pour les déclarations de :
Tailles de tableau
sélecteurs au cas où instructions
Spécification de taille du champ de bits
initialiseurs d'énumération
Les seuls opérandes qui sont 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 de sizeof
Les constantes non intégrales doivent être converties (explicitement ou implicitement) aux types intégraux pour être reconnus dans une expression constante.Par conséquent, le code suivant est conforme :
const double Size = 11.0;
char chArray[(int)Size];
Les conversions explicites pour les types intégraux sont autorisés dans les expressions constantes ; tous les autres types et types dérivés ne sont pas conformes sauf si utilisés comme opérandes à l'aide de l'opérateur sizeof.
l'opérateur et les opérateurs d'assignation de virgule ne peuvent pas être utilisés dans les expressions constantes.