Déclarations possibles
Remonter à Syntaxe de déclaration - Index
Les objets qu'il est possible de déclarer sont les suivants :
- Variables
- Fonctions
- Classes et membres de classe (C++)
- Types
- Noms de structure, d'union et d'énumération
- Membres de structure
- Membres d'union
- Tableaux d'autres types
- Constantes d'énumération
- Etiquettes d'instruction
- Macros de préprocesseur
La syntaxe complète des déclarations est présentée dans les tableaux ci-après. La nature récursive de cette syntaxe autorise des déclarateurs complexes. Il est conseillé d'utiliser typedefs pour assurer une meilleure lisibilité.
Dans la syntaxe des déclarations en C++Builder, vous remarquerez qu'il existe certaines restrictions quant au nombre et à l'ordre des modificateurs et des qualificateurs. Par ailleurs, les modificateurs cités sont le seul ajout à la syntaxe du déclarateur non conforme à la norme ANSI du C ou de C++. Pour plus d'informations sur ces modificateurs, voir les rubriques Modificateurs de variables et Modificateurs de fonctions.
Syntaxe des déclarations dans C++Builder
déclaration: <spécificateurs-decl> <liste-déclarateurs>; déclaration-asm définition-fonction spécification-liaisons déclaration-asm: __asm <(> littéral-chaîne < )> < ; ou nouvelle ligne > spécificateur-decl: spécificateur-classe-stockage spécificateur-type spécificateur-fonction friend (spécifique au C++) typedef spécificateurs-decl: <spécificateurs-decl> spécificateur-decl spécificateur-classe-stockage: auto register static extern spécificateur-fonction: (spécifique au C++) inline virtual nom-type-simple: nom-classe typedef-nom boolean char short int __int8 __int16 __int32 __int64 long signed unsigned float double void liste-déclarateurs: déclarateur-init liste-déclarateurs , déclarateur-init déclarateur-init: déclarateur <initialisateur> déclarateur: dnom liste-modificateurs opérateur-pointeur déclarateur déclarateur ( liste-déclarations-paramètre ) <liste-qualificateurs-cv > (spécifique au C++) déclarateur [ <expression-constante> ] ( déclarateur ) liste-modificateurs: modificateur liste-modificateurs modificateur modificateur: __cdecl __pascal __stdcall __fastcall opérateur-pointeur: * <liste-qualificateurs-cv> & <liste-qualificateurs-cv> (spécifique au C++) nom-classe :: * <liste-qualificateurs-cv> (spécifique au C++) liste-qualificateurs-cv: qualificateur-cv <liste-qualificateurs-cv> qualificateur-cv: const volatile nomd: nom nom-classe (spécifique au C++) ~ nom-classe (spécifique au C++) nom-typedef spécificateur-type-élaboré: clé-classe identificateur clé-classe nom-classe enum nom-enum clé-classe: (spécifique au C++) class struct union spécificateur-enum: enum <identificateur> { <liste-enum> } liste-enum: énumérateur liste-énumérateur , énumérateur énumérateur: identificateur identificateur = expression-constante expression-constante: expression-conditionnelle spécification-liaisons: (spécifique au C++) extern chaîne { <liste-déclaration> } extern chaîne-déclaration spécificateur-type: nom-type-simple spécificateur-classe spécificateur-enum spécificateur-type-élaboré const volatile liste-déclarations: déclaration liste-déclarations ; déclaration nom-type: spécificateur-type <déclarateur-abstrait> déclarateur-abstrait: opérateur-pointeur <déclarateur-abstrait> <déclarateur-abstrait> ( liste-déclarations-argument ) <liste-qualificateurs-cv> <déclarateur-abstrait> [ <expression-constante> ] ( déclarateur-abstrait ) liste-déclarations-argument: <liste-déclarations-arg> liste-déclarations-arg , ... <liste-déclarations-arg> ... (spécifique au C++) liste-déclarations-arg: déclaration-argument liste-déclarations-arg , déclaration-argument déclaration-argument: spécificateurs-decl déclarateur spécificateurs-decl déclarateur = expression (spécifique au C++) spécificateurs-decl <déclarateur-abstrait> spécificateurs-decl <déclarateur-abstrait> = expression (spécifique au C++) définition-fonction: <spécificateurs-decl > déclarateur <liste-déclarations > corps-fonction corps-fonction: instruction-composée initialisateur: = expression = { liste initialisateurs } ( liste-expressions ) (spécifique au C++) liste initialisateurs: expression liste initialisateurs, expression { liste-initialisateurs <,> }