Espressioni costanti C++
Il linguaggio C++ richiede espressioni costanti (espressioni che restituiscono una costante) per le dichiarazioni di:
Limiti di matrice
Selettori in istruzioni case
Specifica di lunghezza del campo di bit
Inizializzatori di enumerazione
Gli unici operandi che sono validi nelle espressioni costanti sono:
Valori letterali
Costanti di enumerazione
Valori dichiarati come const che vengono inizializzati con espressioni costanti
Espressioni sizeof
Le costanti non integrali devono essere convertite (in modo esplicito o implicito) in tipi integrali affinché siano valide in un'espressione costante. Pertanto, il codice seguente è valido:
const double Size = 11.0;
char chArray[(int)Size];
Le conversioni esplicite in tipi integrali sono valide nelle espressioni costanti; tutti gli altri tipi e i tipi derivati non sono validi tranne quando sono utilizzati come operandi per l'operatore sizeof.
L'operatore virgola e gli operatori di assegnazione non possono essere utilizzati nelle espressioni costanti.