Freigeben über


C++-Ausdrücke (konstant)

C++ erfordert konstante Ausdrücke – Ausdrücke, die als Konstante ausgewertet werden – für Deklarationen von:

  • Arraygrenzen

  • Selektoren in case-Anweisungen

  • Bitfeldlängenangabe

  • Enumerationsinitialisierer

Die einzigen Operanden, die in konstanten Ausdrücken zulässig sind, lauten:

  • Literale

  • Enumerationskonstanten

  • Werte, die als Konstanten deklariert sind und mit konstanten Ausdrücken initialisiert werden.

  • sizeof-Ausdrücke

Konstanten, die keine Ganzzahlen sind, müssen (entweder explizit oder implizit) in ganzzahlige Typen konvertiert werden, um in einem konstanten Ausdruck zulässig zu sein. Daher ist der folgende Code gültig:

const double Size = 11.0;
char chArray[(int)Size];

Explizite Konvertierungen in ganzzahlige Typen sind in konstanten Ausdrücken zulässig; alle anderen Typen und abgeleiteten Typen sind nicht zulässig, sofern sie nicht als Operanden für den sizeof-Operator verwendet werden.

Der Kommaoperator sowie Zuweisungsoperatoren können nicht in konstanten Ausdrücken verwendet werden.

Siehe auch

Referenz

Ausdruckstypen