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