Stała C++ wyrażeń
C++ wymaga stałych wyrażeń — wyrażenia, których wynikiem może być stałą — dla deklaracji:
Granice tablicy
Selektory w przypadku instrukcji
Długość pola bitowe specyfikacji
Wyliczanie inicjatorów
Są tylko operandów, które są prawnych w stałych wyrażeń:
Literały
Wyliczanie stałych
Wartości zadeklarowanych jako const, które są inicjowane z wyrażenia stałe
wyrażenia sizeof
Nonintegral stałe muszą zostać przekonwertowane (jawnie lub niejawnie) typy zintegrowane nakazują w wyrażeniu stałym.W związku z tym poniższy kod jest prawnych:
const double Size = 11.0;
char chArray[(int)Size];
Jawne konwersje typów integralną są prawnych w wyrażeniach stała; wszystkie inne typy i typy pochodne są nielegalne, z wyjątkiem przypadków, gdy używane jako argumenty do operatora sizeof.
Operator przecinek i operatory przypisania nie można używać w wyrażeniach stałej.