Freigeben über


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.

Siehe auch

Referenz

Typen von Ausdrücken