Mögliche Deklarationen
Nach oben zu Deklarationssyntax - Index
Folgende Objekte können deklariert werden:
- Variablen
- Funktionen
- Klassen und Elemente von Klassen (C++)
- Typen
- Strukturen-, Varianten- und Aufzählungs-Tags
- Elemente von Strukturen
- Elemente von Varianten
- Arrays anderer Typen
- Aufzählungskonstanten
- Anweisungs-Sprungmarken (Labels)
- Präprozessor-Makros
Die vollständige Syntax für die Deklarationen wird unten gezeigt. Die rekursive Natur der Deklarationssyntax erlaubt sehr komplexe Deklaratoren. Sie sollten deshalb versuchen, durch Verwendung von typedefs die Lesbarkeit zu verbessern.
Beachten Sie in der Tabelle "C++Builder Deklarationssyntax" die Einschränkungen bezüglich Anzahl und Reihenfolge von Modifizierern und Qualifizierern. Die aufgeführten Modifizierer sind die einzige Erweiterung der von ANSI C oder C++ vorgegebenen Deklarationssyntax. Nähere Informationen hierzu erhalten Sie unter Modifizierer von Variablen und Funktions-Modifizierer.
C++Builder Deklarationssyntax
Deklaration: <Mehrere Deklarations-Spezifiz.> <Deklarator-Liste>; asm-Deklaration Funktions-Definition Bindungs-Spezifikation asm-declaration: __asm <(> String-Literal <)> < ; oder neue-zeile > Deklarations-Spezifizierer: Speicherklassen-Spezifizierer Typ-Bezeichner Funktions-Spezifizierer friend (C++ spezifisch) typedef Mehrere Deklarations-Spezifizierer: <Mehrere Deklarat.-Spezifiz.> Deklarations-Spezifiz. Speicherklassen-Bezeichner: auto register static extern Funktions-Spezifizierer: (C++ spezifisch) inline virtual Einfacher Typname: Klassenname typedef-Name boolean char short int __int8 __int16 __int32 __int64 long signed unsigned float double void Deklarator-Liste: Initialisierungs-Deklarator Deklarator-Liste , Initialisierungs-Deklarator Initialisierungs-Deklarator: Deklarator <Initialisierer> Deklarator: dname Modifizierer-Liste Zeiger-Operator Deklarator Deklarator ( Parameter-Deklarationsliste ) <cv-Qualifizierer-Liste > (C++ spezifisch) Deklarator [ <Konstantenausdruck> ] ( Deklarator ) Modifizierer-Liste: Modifizierer Modifizierer-Liste Modifizierer Modifizierer: __cdecl __pascal __stdcall __fastcall Zeiger-Operator: * <cv-Qualifizierer-Liste> & <cv-Qualifizierer-Liste> (C++ spezifisch) Klassenname:: * <cv-Qualifizierer-Liste> (C++ spezifisch) cv-Qualifizierer-Liste: cv-Qualifizierer <cv-Qualifizierer-Liste> cv-Qualifizierer: const volatile dname: Name Klassenname (C++ spezifisch) ~ Klassenname (C++ spezifisch) typedef-Name Erweiterter Typ-Bezeichner: Klassenschlüssel Bezeichner Klassenschlüssel Klassenname enum Aufzählungsname class-key: (C++ spezifisch) class struct union Aufzählungsspezifizierer: enum <Bezeichner> { < Aufzählungsliste > } Aufzählungsliste: Aufzähler Aufzählungsliste, Aufzähler Aufzähler: Bezeichner Bezeichner = Konstantenausdruck Konstantenausdruck: Bedingter Ausdruck Bindungs-Spezifikation: (C++ spezifisch) extern string { <Deklarationsliste> } extern string Deklaration Typ-Bezeichner: Einfacher Typname Klassen-Bezeichner Aufzählungsbezeichner Erweiterter Typ-Bezeichner const volatile Deklarationsliste: Deklaration Deklarationsliste ; Deklaration Typname: Typ-Bezeichner <Abstrakt-Deklarator> Abstrakt-Deklarator: Zeiger-Operator < Abstrakt-Deklarator > <Abstrakt-Deklarator> ( Argument-Deklarationsliste ) <cv-Qualifizierer-Liste> <Abstrakt-Deklarator> [ <Konstantenausdruck> ] ( Abstrakt-Deklarator ) Argument-Deklarationsliste: <Arg-Deklarationsliste> Arg-Deklarationsliste , ... <Arg-Deklarationsliste> ... (C++ spezifisch) Arg-Deklarationsliste: Argumentdeklaration Arg-Deklarationsliste , Argumentdeklaration Argumentdeklaration: Mehrere-Deklarations-Spezifizierer Deklarator Mehrere-Deklarations-Spezifizierer Deklarator = Ausdruck (C++ spezifisch) Mehrere-Deklarations-Spezifizierer <Abstrakt-Deklarator> Mehrere-Deklarations-Spezifizierer <Abstrakt-Deklarator> = Ausdruck (C++ spezifisch) Funktions-Definition: <Mehrere-Deklarations-Spezifizierer> Deklarator <Deklarationsliste> Funktionsrumpf Funktionsrumpf: Blockanweisung Initialisierer: = Ausdruck = { Initialisierer-Liste } ( Ausdrucksliste ) (C++ spezifisch) Initialisierer-Liste: Ausdruck Initialisierer-Liste, Ausdruck { Initialisierer-Liste <,> }