Espressioni costanti C++
C++ richiede espressioni costanti - espressioni che restituiscono una costante che per le dichiarazioni di:
limiti di matrice
Selettori nel caso istruzioni
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 di sizeof
Le costanti non integrali devono essere convertite in modo esplicito o implicito) ai tipi integrali siano valide in un'espressione costante.Di conseguenza, il codice seguente è valido:
const double Size = 11.0;
char chArray[(int)Size];
Le conversioni esplicite ai tipi integrali sono valide nelle espressioni costanti, tutti gli altri tipi e tipi derivati non sono consentiti a meno che una volta utilizzati come operandi operatore di sizeof.
L'operatore e operatori di assegnazione della virgola non possono essere utilizzati nelle espressioni costanti.