Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочное руководство по C++.doc
Скачиваний:
0
Добавлен:
03.01.2020
Размер:
2.03 Mб
Скачать

R.17.3 Описания

описания:

спецификации-описания opt список-описателей opt ;

описание-asm

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

спецификация-связи

спецификация-описания:

спецификация-класса-памяти

спецификация-типа

спецификация-fct

спецификация-шаблона-типа

friend

typedef

спецификации-описания:

спецификации-описания opt спецификация-описания

спецификация-класса-памяти:

auto

register

static

extern

спецификация-fct:

inline

virtual

спецификация-типа:

имя-простого-типа

спецификация-класса

спецификация-перечисления

спецификация-сложного-типа

:: имя-класса

const

volatile

имя-простого-типа:

полное-имя-класса

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

char

short

int

long

signed

unsigned

float

double

void

спецификация-сложного-типа:

служебное-слово-класса имя-класса

служебное-слово-класса идентификатор

служебное-слово-класса:

class

struct

union

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

имя-typedef

имя-класса :: уточненное-имя-типа

полное-имя-класса:

уточненное-имя-класса

:: уточненное-имя-класса

уточненное-имя-класса:

имя-класса

имя-класса :: уточненное-имя-класса

имя-перечисления:

идентификатор

спецификация-перечисления:

enum идентификатор opt { список-перечисления }

список-перечисления:

элемент-перечисления

список-перечисления , элемент-перечисления

элемент-перечисления:

идентификатор

идентификатор = выражение-константа

спецификация-связи:

extern строка-литерал { список-описаний opt }

extern строка-литерал описание

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

описание

список-описаний описание

описание-asm:

asm ( строка-литерал) ;

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 }