enum

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Schlüsselwörter alphabetisch - Index


Kategorie

Typ-Bezeichner

Syntax



 enum [<typ_tag>] {<konstantenname> [= <wert>], ...} [variablen_liste];



  • <type_tag> ist ein optionales Typ-Tag, das die Aufzählungsmenge bezeichnet.
  • <konstantenname> ist der Name einer Konstanten, die optional den Wert <wert> erhalten kann. Diese Konstanten werden auch Aufzählungskonstanten genannt.
  • <wert> muss vom Typ int sein. Fehlt die Angabe <wert>, so wird dafür <vorgänger> + 1 angenommen, dabei ist <vorgänger> der Wert der in der Liste davor stehenden int-Konstante. Für die erste Konstante wird in der Voreinstellung der Wert Null angenommen.
  • <variablen_liste> ist eine optionale Variablenliste; diese Variablen werden damit als von diesem Aufzählungstyp deklariert.

Beschreibung

Das Schlüsselwort enum wird verwendet, um eine Menge von int-Konstanten zu definieren; eine solche Menge wird Aufzählungsdatentyp genannt.

Ein Aufzählungstyp stellt mnemonische Bezeichnungen für die Elemente einer Menge von int-Werten zur Verfügung. Mit der Kommandozeilenoption -b können Sie die Option Enum als Integer behandeln umschalten. Werte von Aufzählungstypen werden immer als vom Typ int interpretiert, falls es der Wertebereich zulässt; wenn sie jedoch nicht vom Typ int sind, werden sie in Ausdrücken zu int erweitert. Die Bezeichner in einer Aufzählungsliste sind implizit vom Typ signed char, unsigned char, short, unsigned short, int oder unsigned int, abhängig vom Wertebereich.

In C kann einer Aufzählungstypvariablen jeder Wert vom Typ int zugewiesen werden; es findet keine darüberhinausgehende Typprüfung statt. In C++ dagegen kann einer solchen Variablen nur eine ihrer Aufzählungskonstanten zugewiesen werden.

In C++ können Sie das Schlüsselwort enum auch weglassen, wenn <typ_tag> in diesem Gültigkeitsbereich keine andere Bedeutung hat. Sie können auch <typ_tag> weglassen, wenn Sie später keine weiteren Variablen dieses Aufzählungstyps deklarieren wollen.

Fehlt die Angabe <wert>, so erhält die erste Aufzählungskonstante den Wert Null. Alle folgenden Konstanten werden dann mit jeweils um 1 steigenden Konstanten initialisiert. Für <wert> kann jeder Ausdruck eingesetzt werden, der einen positiven oder negativen int-Wert (ggf. nach Vorzeichenerweiterung) ergibt. Diese Werte sind normalerweise eindeutig, doppelt vorkommende sind aber erlaubt.

Die Tag-Namen von Aufzählungstypen teilen sich den Namespace mit Strukturen und Varianten. Die Namen der Aufzählungskonstanten liegen im selben Namespace wie normale Variablennamen.

In C++ gelten Aufzählungskonstanten, die in einer Klasse definiert wurden, nur im Gültigkeitsbereich dieser Klasse.