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

Шрифт
Интервал

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

> 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 }

R.17.5 Описания класса

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

> заголовок-класса { список-членов >opt }

>заголовок-класса:

> служебное-слово-класса идентификатор >opt спец-базовых >opt

> служебное-слово-класса имя-класса спец-базовых >opt

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

> class

> struct

> union

>список-членов:

> описание-члена список-членов >opt

> спецификация-доступа : список-членов >opt

>описание-члена:

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

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

> уточненное-имя ;

>список-описателей-членов:

> описатель-члена

> список-описателей-членов , описатель-члена

>описатель-члена:

> описатель спецификация-чистой >opt

> идентификатор >opt : выражение-константа

>спецификация-чистой:

> = 0

>список-базовых:

> спецификация-базовых

> список-базовых , спецификация-базовых

>спецификация-базовых:

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

> virtual спецификация-доступа >opt полное-имя-класса

> спецификация-доступа virtual >opt полное-имя-класса

>спецификация-доступа:

> private

> protected

> public

>имя-функции-преобразования:

> operator имя-типа-преобразования

>имя-типа-преобразования:

> список-спецификаций-типа операция-ptr >opt

>инициализатор-ctor:

> : список-инициализаторов-членов

>список-инициализаторов-членов:

> инициализатор-члена

> инициализатор-члена , список-инициализаторов-члена

>инициализатор-члена:

> полное-имя-класса ( список-выражений >opt )

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

>имя-функции-оператор:

> operator операция

>операция : один из

> new delete

> + - * / % ^& | ~

> ! = ‹ › += -= *= /= %=

> ^= &= |= ‹‹ ›› ››= ‹‹= == !=

> ‹= ›= && || ++ -- , -›* -›

> () []

R.17.6 Операторы

>оператор:

> помеченный-оператор

> оператор-выражение

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

> выбирающий-оператор

> оператор-цикла

> оператор-перехода

> оператор-описания

>помеченный-оператор:

> идентификатор : оператор

> case выражение-константа : оператор

> default : оператор

>оператор-выражение:

> выражение opt;

>составной-оператор:

> { список-операторов >opt }

>список-операторов:

> оператор

> список-операторов оператор

>выбирающий-оператор:

> if ( выражение ) оператор

> if ( выражение ) оператор else оператор

> switch ( выражение ) оператор

>оператор-цикла:

> while ( выражение ) оператор

> do оператор while ( выражение )

> for ( оператор-иниц выражение >opt ; выражение >opt ) оператор

>оператор-иниц:

> оператор-выражение

> оператор-описание

>оператор-перехода:

> break ;

> continue ;

> return выражение >opt ;

> goto идентификатор ;

>оператор-описания:

> описание

R.17.7 Препроцессор


Еще от автора Бьерн Страуструп
C++
C++

С++ – это универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей С++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных.


Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Симуляция частичной специализации

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.