Справочное руководство по C++

R.17.4 Описатели.

Список-описаний:

 описатель-с-инициализатором.

 список-описаний , описатель-с-инициализатором.

Описатель-с-инициализатором:

 описатель инициализатор opt.

Описатель:

 имя-в-описателе.

 операция-ptr описатель.

 описатель ( список-описаний-параметров ) список-спецификаций-cv opt.

 описатель [ выражение-константа opt ]

 ( описатель ).

Операция-ptr:

 * список-спецификаций-cv opt.

 & список-спецификаций-cv opt.

 полное-имя-класса :: * список-спецификаций-cv opt.

Список-спецификаций-cv:

 const.

 volatile.

Имя-в-описателе:

 имя.

 имя-класса.

 ~имя-класса.

 имя-typedef.

 уточненное-имя-типа.

Имя-типа:

 список-спецификаций-типа абстрактный-описатель opt.

Список-спецификаций-типа:

 спецификация-типа список-спецификаций-типа.

Абстрактный-описатель:

 операция-ptr абстрактный-описатель opt.

 абстрактный-описатель opt ( список-описаний-параметров ) список-спецификаций_cv opt.

 абстрактный-описатель opt [ выражение-константа opt ]

 ( абстрактный-описатель ).

Список-описаний-параметров:

 список-описаний-парам opt … opt.

 список-описаний-парам , …

Список-описаний-парам:

 описание-параметра.

 список-описаний-парам , описание-параметра.

Описание-параметра:

 спецификации-описания описатель.

 спецификации-описания описатель = выражение.

 спецификации-описания абстрактный-описатель opt.

 спецификации-описания абстрактный-описатель opt = выражение.

Определение-функции:

 спецификации-описания opt описатель инициализатор-ctor тело-функции.

Тело-функции:

 составной-оператор.

Инициализатор:

 = выражение-присваивания.

 = { список-инициализаторов , opt }

 ( список-выражений ).

Список-инициализаторов:

 выражение-присваивания.

 список-инициализаторов , выражение-присваивания.

 { список-инициализаторов , opt }