C++-konstante Ausdrücke
C++ benötigt konstante Ausdrücke — Ausdrücke, die zu einer Konstanten auswerten — für Deklarationen von:
Arraygrenzen
Anweisungen wie Selektoren
Bitfeldlängenangabe
Enumeration initialisierer
Die einzigen Operanden, die in den konstanten Ausdrücken gültig sind, sind:
Literale
Enumerationskonstanten
Werte als Konstante deklariert, die mit konstanten Ausdrücken initialisiert werden.
sizeof Ausdrücke
Nicht ganzzahlige Konstanten müssen (entweder explizit oder implizit) für ganzzahlige Typen konvertiert werden, die in einem konstanten Ausdruck gültig ist.Daher ist der folgende Code gültig:
const double Size = 11.0;
char chArray[(int)Size];
Explizite Konvertierungen in den ganzzahligen Typen sind in den konstanten Ausdrücken gültig. Alle anderen Typen und abgeleiteten Typen sind außer Kraft, wenn bei Verwendung als Operanden in den sizeof Operator.
Der Operator Komma und Zuweisungsoperatoren können nicht in den konstanten Ausdrücken verwendet werden.