DekGenius.com
Team LiB   Previous Section   Next Section
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.

See Also

declaration, expression, function, identifier, type, Chapter 2

    Team LiB   Previous Section   Next Section