Freigeben über


C++-Ausdrücke (konstant)

Ein konstanter Wert ist ein Wert, der sich nicht ändert. C++ bietet zwei Schlüsselwörter, mit denen Sie den Zweck eines Objekts angeben können, der nicht dazu gedacht ist, geändert zu werden, und diese Absicht erzwingen soll.

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 integrale Typen sind in konstanten Ausdrücken legal; alle anderen Typen und abgeleiteten Typen sind unzulässig, außer wenn sie als Operanden für den sizeof Operator verwendet werden.

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

Siehe auch

Ausdruckstypen