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 <,> }