Справочное руководство по 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, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных.


Рекомендуем почитать
Язык PL/SQL

В учебно-методическом пособии рассматриваются основы языка программирования PL/SQL, реализованного в системе управления базами данных Oracle Database Server. Приводятся сведения о поддерживаемых типах данных, структуре программ PL/SQL и выполнении SQL-предложений в них. Отдельно рассмотрено создание хранимых в базах данных Oracle программ PL/SQL – процедур, функций, пакетов и триггеров.


Пишем драйвер Windows на ассемблере

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


Язык программирования С# 2005 и платформа .NET 2.0.

В этой книге содержится описание базовых принципов функционирования платформы .NET, системы типов .NET и различных инструментальных средств разработки, используемых при создании приложений .NET. Представлены базовые возможности языка программирования C# 2005, включая новые синтаксические конструкции, появившиеся с выходом .NET 2.0, а также синтаксис и семантика языка CIL. В книге рассматривается формат сборок .NET, библиотеки базовых классов .NET. файловый ввод-вывод, возможности удаленного доступа, конструкция приложений Windows Forms, доступ к базам данных с помощью ADO.NET, создание Web-приложений ASP.NET и Web-служб XML.


Вариации на тему STL. Адаптер обобщенного указателя на функцию-член класса

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


Информационная технология. Руководство по управлению документированием программного обеспечения

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИИнформационная технологияРУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯInformation technology. Guidelines for the management of software documentationИздание официальноеДата введения 1994-07-01ГОССТАНДАРТ РОССИИ Москва© Издательство стандартов, 1994.


Самоучитель UML

Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы.