declarator | Provides information about a single identifier in a declaration |
declarator ::= direct-declarator | ptr-operator declarator init-declarator-list ::= init-declarator | init-declarator-list , init-declarator init-declarator ::= declarator [initializer] initializer ::= = initializer-clause | ( expr-list ) initializer-clause ::= assignment-expr | { initializer-list [,] } | { } initializer-list ::= initializer-clause | initializer-list , initializer-clause direct-declarator ::= declarator-id | direct-declarator ( parm-decl-clause ) [cv-qualifier-seq] [exception-specification] | direct-declarator [ [constant-expr] ] | ( declarator ) ptr-operator ::= * [cv-qualifier-seq] | & | [::] nested-name :: * [cv-qualifier-seq] declarator-id ::= id-expression | [::] [nested-name ::] type-name abstract-declarator ::= ptr-operator [abstract-declarator] | direct-abstract-declarator direct-abstract-declarator ::= [direct-abstract-declarator] ( parm-decl-clause ) [cv-qualifier-seq] [exception-specification] | [direct-abstract-declarator] [ [constant-expr] ] | ( abstract-declarator ) parm-decl-clause ::= [parm-decl-list] [...] | parm-decl-list , ... parm-decl-list ::= parm-decl | parm-decl-list , parm-decl parm-decl ::= decl-specifier-seq declarator [= assignment-expr] | decl-specifier-seq [abstract-declarator] [= assignment-expr] exception-specification ::= throw ( [type-id-list] ) type-id-list ::= type-id | type-id-list , type-id |
A declarator provides additional information about a single identifier in a declaration. The declarator can be part of an object declaration, a class member declaration, a typedef declaration, a parameter in a function declaration, and so on.
declaration, expression, function, identifier, type, Chapter 2