Чтение онлайн

на главную - закладки

Жанры

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

Страустрап Бьярн

Шрифт:

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

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

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

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

 break ;

 continue ;

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

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

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

 описание

R.17.7

Препроцессор

#define идентификатор строка-лексем

#define идентификатор ( идентификатор , … , идентификатор ) строка-лексем

#include "имяфайла"

#include ‹имяфайла›

#line константа "имяфайла" opt

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

условное:

 часть-if части-elif opt часть-else opt строка-endif

часть-if:

 строка-if текст

строка-if:

 # if выражение-константа

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

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

части-elif:

 строка-elif текст

 части-elif строка-elif текст

строка-elif:

 # elif выражение-константа

часть-else:

 строка-else текст

строка-else:

 # else

строка-endif:

 # endif

R.17.8 Шаблоны типа

описание-шаблона-типа:

 template ‹ список-параметров-шаблона-типа › описание

список-параметров-шаблона-типа:

 параметр-шаблона-типа

 список-параметров-шаблона-типа , параметр-шаблона-типа

параметр-шаблона-типа:

 параметр-типа

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

параметр-типа:

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

имя-шаблонного-класса:

 имя-шаблона-типа ‹ список-парам-шаблона-типа ›

список-парам-шаблона-типа:

 парам-шаблона-типа

 список-парам-шаблона-типа , парам-шаблона-типа

парам-шаблона:

 выражение

 имя-типа

R.17.9 Обработка особых ситуаций

проверяемый-блок:

 try
составной-оператор список-обработчиков

список-обработчиков:

 обработчик список-обработчиков opt

обработчик:

 catch ( описание-особой-ситуации ) составной-оператор

описание-особой-ситуации:

 список-спецификаций-типа описатель

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

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

 …

выражение-запуска:

 throw выражение opt

спецификация-особой-ситуации:

 throw ( список-типа opt )

список-типа:

 имя-типа

 список-типа , имя-типа

R.18 Приложение B: Совместимость

Это приложение не относится к справочному руководству C++ и не является определением конструкций языка.

Язык C++ основывается на С (описание в книге Кернигана и Ритчи, 78 г., дальше K&R) и включает большинство изменений, предложенных в ANSI стандарте для С. При конвертировании программ на языках С++, K&R C и ANSI C могут возникнуть трудности в связи с различным вычислением в них выражений. Транслятор должен распознавать все различия между C++ и ANSI C. Программы на C++ и ANSI C должны иметь одинаковый смысл за исключением трех следующих случаев:

В языке С выражение sizeof('a') равно sizeof(int), а в C++ оно равно sizeof(char).

Если есть описание

enum e { A };

то sizeof(A) равно в С sizeof(int), тогда как в C++ оно равно sizeof(e) и не обязано быть равно sizeof(int).

Имя структуры, описанной во внутреннем блоке, может скрывать имя объекта, функции, элемента перечисления или типа из внешнего блока.

Приведем пример:

int x[99];

void f

{

 struct x { int a; };

 sizeof(x); /* для C это размер массива */

/* а для C++ размер структуры */

}

R.18.1 Расширения

В этом разделе перечисляются основные расширения языка С, введенные в С++.

R.18.1.1 Возможности С++, введенные в 1985 г.

Здесь перечисляются возможности, добавленные к С, версией языка C++ 1985 г.

Можно указывать типы формальных параметров функции (§R.8.2.5), и они будут проверяться (§R.5.2.2). Будет происходить преобразование типа (§R.5.2.2). Это есть и в ANSI C.

Поделиться:
Популярные книги

Инвестиго, из медика в маги

Рэд Илья
1. Инвестиго
Фантастика:
фэнтези
городское фэнтези
попаданцы
5.00
рейтинг книги
Инвестиго, из медика в маги

Барон Дубов 2

Карелин Сергей Витальевич
2. Его Дубейшество
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Барон Дубов 2

Хозяйка покинутой усадьбы

Нова Юлия
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Хозяйка покинутой усадьбы

Страж Кодекса. Книга II

Романов Илья Николаевич
2. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга II

Город воров. Дороги Империи

Муравьёв Константин Николаевич
7. Пожиратель
Фантастика:
боевая фантастика
5.43
рейтинг книги
Город воров. Дороги Империи

Новик

Ланцов Михаил Алексеевич
2. Помещик
Фантастика:
альтернативная история
6.67
рейтинг книги
Новик

Гридень 2. Поиск пути

Гуров Валерий Александрович
2. Гридень
Детективы:
исторические детективы
5.00
рейтинг книги
Гридень 2. Поиск пути

Хозяйка усадьбы, или Графиня поневоле

Рамис Кира
Любовные романы:
любовно-фантастические романы
5.50
рейтинг книги
Хозяйка усадьбы, или Графиня поневоле

Газлайтер. Том 2

Володин Григорий
2. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 2

Барон нарушает правила

Ренгач Евгений
3. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон нарушает правила

На границе империй. Том 10. Часть 3

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 3

Кодекс Охотника. Книга VI

Винокуров Юрий
6. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга VI

Черный Маг Императора 6

Герда Александр
6. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
7.00
рейтинг книги
Черный Маг Императора 6

Барин-Шабарин

Гуров Валерий Александрович
1. Барин-Шабарин
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Барин-Шабарин