Бьярн Страустрап - Справочное руководство по C++
- Название:Справочное руководство по C++
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Бьярн Страустрап - Справочное руководство по C++ краткое содержание
Справочное руководство по C++ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
список-инициализаторов , выражение-присваивания
{ список-инициализаторов , 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 Препроцессор
#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 Расширения
В этом разделе перечисляются основные расширения языка С, введенные в С++.
Читать дальшеИнтервал:
Закладка: