Справочное руководство по C++
- R.1 Введение. ⇢
- R.1.1 Обзор. ⇢
- R.1.2 Запись синтаксиса. ⇢
- R.2 Соглашения о лексических понятиях. ⇢
- R.2.1 Лексемы. ⇢
- R.2.2 Комментарии. ⇢
- R.2.3 Идентификаторы. ⇢
- R.2.4 Служебные слова. ⇢
- R.2.5 Литералы. ⇢
- R.2.5.1 Целые константы. ⇢
- R.2.5.2 Символьные константы. ⇢
- R.2.5.3 Константы с плавающей точкой. ⇢
- R.2.5.4 Строки литералов. ⇢
- R.3 Основные понятия. ⇢
- R.3.1 Описания и определения. ⇢
- R.3.2 Область видимости. ⇢
- R.3.3 Программа и связывание. ⇢
- R.3.4 Начало и окончание программы. ⇢
- R.3.5 Классы памяти. ⇢
- R.3.6 Типы. ⇢
- R.3.6.1 Основные типы. ⇢
- R.3.6.2 Производные типы. ⇢
- R.3.6.3 Имена типов. ⇢
- R.3.7 Адреса. ⇢
- R.4 Стандартные преобразования. ⇢
- R.4.1 Стандартные преобразования для целочисленных. ⇢
- R.4.2 Преобразования целочисленных. ⇢
- R.4.3 Значения с плавающей точкой и двойной точностью. ⇢
- R.4.4 Целочисленные и числа с плавающей точкой. ⇢
- R.4.5 Арифметические преобразования. ⇢
- R.4.6 Преобразования указателей. ⇢
- R.4.7 Преобразования ссылок. ⇢
- R.4.8 Указатели на члены. ⇢
- R.5 Выражения. ⇢
- R.5.1 Первичные выражения. ⇢
- R.5.2 Постфиксные выражения. ⇢
- R.5.2.1 Индексация. ⇢
- R.5.2.2 Вызов функции. ⇢
- R.5.2.3 Явные преобразования типа. ⇢
- R.5.2.4 Доступ к члену класса. ⇢
- R.5.2.5 Инкремент и декремент. ⇢
- R.5.3 Унарные операции. ⇢
- R.5.3.1 Инкремент и декремент. ⇢
- R.5.3.2 Операция sizeof. ⇢
- R.5.3.3 Операция new. ⇢
- R.5.3.4 Операция delete. ⇢
- R.5.4 Явное преобразование типа. ⇢
- R.5.5 Операции указатель-на-член. ⇢
- R.5.6 Мультипликативные операции. ⇢
- R.5.7 Аддитивные операции. ⇢
- R.5.8 Операции сдвига. ⇢
- R.5.9 Операции отношения. ⇢
- R.5.10 Операции сравнения на равенство. ⇢
- R.5.11 Поразрядная операция И. ⇢
- R.5.12 Поразрядная (исключающая) операция ИЛИ. ⇢
- R.5.13 Поразрядная (включающая) операция ИЛИ. ⇢
- R.5.14 Логическая операция И. ⇢
- R.5.15 Логическая операция ИЛИ. ⇢
- R.5.16 Операция условия. ⇢
- R.5.17 Операции присваивания. ⇢
- R.5.18 Операция запятая. ⇢
- R.5.19 Выражения-константы. ⇢
- R.6 Операторы. ⇢
- R.6.1 Помеченный оператор. ⇢
- R.6.2 Оператор-выражение. ⇢
- R.6.3 Составной оператор или блок. ⇢
- R.6.4 Выбирающий оператор. ⇢
- R.6.4.1 Оператор if. ⇢
- R.6.4.2 Оператор переключателя. ⇢
- R.6.5 Операторы цикла. ⇢
- R.6.5.1 Оператор while. ⇢
- R.6.5.2 Оператор do. ⇢
- R.6.5.3 Оператор for. ⇢
- R.6.6 Операторы перехода. ⇢
- R.6.6.1 Оператор break. ⇢
- R.6.6.2 Оператор continue. ⇢
- R.6.6.3 Оператор return. ⇢
- R.6.6.4 Оператор goto. ⇢
- R.6.7 Оператор описания. ⇢
- R.6.8 Разрешение неоднозначности. ⇢
- R.7 Описания. ⇢
- R.7.1 Спецификации. ⇢
- R.7.1.1 Спецификации класса памяти. ⇢
- R.7.1.2 Спецификации функций. ⇢
- R.7.1.3 Спецификация typedef. ⇢
- R.7.1.4 Спецификация шаблона типа. ⇢
- R.7.1.5 Спецификация friend. ⇢
- R.7.1.6 Спецификация типа. ⇢
- R.7.2 Описание перечисления. ⇢
- R.7.3 Описания asm. ⇢
- R.7.4 Спецификации связи. ⇢
- R.8 Описатели. ⇢
- R.8.1 Имена типов. ⇢
- R.8.1.1 Устранение неоднозначности. ⇢
- R.8.2 Смысл описателей. ⇢
- R.8.2.1 Указатели. ⇢
- R.8.2.2 Ссылки. ⇢
- R.8.2.3 Указатели на члены. ⇢
- R.8.2.4 Массивы. ⇢
- R.8.2.5 Функции. ⇢
- R.8.3 Определения функций. ⇢
- R.8.4 Инициализаторы. ⇢
- R.8.4.1 Агрегат. ⇢
- R.8.4.2 Символьные массивы. ⇢
- R.8.4.3 Ссылки. ⇢
- R.9 классы. ⇢
- R.9.1 Имена класса. ⇢
- R.9.2 Члены класса. ⇢
- R.9.3 Функции-члены. ⇢
- R.9.3.1 Указатель this. ⇢
- R.9.3.2 Функции-члены со спецификацией inline. ⇢
- R.9.4 Статические члены. ⇢
- R.9.5 Объединения. ⇢
- R.9.6 Битовые поля. ⇢
- R.9.7 Вложенные описания классов. ⇢
- R.9.8 Описания локальных классов. ⇢
- R.9.9 Имена локальных типов. ⇢
- R.10 Производные классы. ⇢
- R.10.1 Множественные базовые классы. ⇢
- R.10.1.1 Неоднозначности. ⇢
- R.10.2 Виртуальные функции. ⇢
- R.10.3 Абстрактные классы. ⇢
- R.10.4 Сводка правил области видимости. ⇢
- R.11 Контроль доступа к членам. ⇢
- R.11.1 Спецификации доступа. ⇢
- R.11.2 Спецификации доступа для базовых классов. ⇢
- R.11.3 Описания доступа. ⇢
- R.11.4 Друзья. ⇢
- R.11.5 Доступ к защищенным членам. ⇢
- R.11.6 Доступ к виртуальным функциям. ⇢
- R.11.7 Множественный доступ. ⇢
- R.12 Специальные функции-члены. ⇢
- R.12.1 Конструкторы. ⇢
- R.12.2 Временные объекты. ⇢
- R.12.3 Преобразования. ⇢
- R.12.3.1 Преобразование с помощью конструктора. ⇢
- R.12.3.2 Функции преобразования. ⇢
- R.12.4 Деструкторы. ⇢
- R.12.5 Свободная память. ⇢
- R.12.6 Инициализация. ⇢
- R.12.6.1 Явная инициализация. ⇢
- R.12.6.2 Инициализация членов и базовых классов. ⇢
- R.12.7 Конструкторы и деструкторы. ⇢
- R.12.8 Копирование объектов класса. ⇢
- R.13 Перегрузка. ⇢
- R.13.1 Сопоставление описаний. ⇢
- R.13.2 Сопоставление параметров. ⇢
- R.13.3 Адрес перегруженной функции. ⇢
- R.13.4 Перегруженные операции. ⇢
- R.13.4.1 Унарные операции. ⇢
- R.13.4.2 Бинарные операции. ⇢
- R.13.4.3 Присваивания. ⇢
- R.13.4.4 Вызов функции. ⇢
- R.13.4.5 Индексация. ⇢
- R.13.4.6 Доступ к члену класса. ⇢
- R.13.4.7 Инкремент и декремент. ⇢
- R.14 ШАБЛОНЫ ТИПА. ⇢
- R.14.1 Шаблоны типа. ⇢
- R.14.2 Шаблоны типов для классов. ⇢
- R.14.3 Эквивалентность типов. ⇢
- R.14.4 Шаблоны типа для функций. ⇢
- R.14.5 Описания и определения. ⇢
- R.14.6 Функции-члены шаблонов типа. ⇢
- R.14.7 Друзья. ⇢
- R.14.8 Статические члены и переменные. ⇢
- R.15 Обработка особых ситуаций. ⇢
- R.15.1 Обработка особых ситуаций. ⇢
- R.15.2 Запуск особой ситуации. ⇢
- R.15.3 Конструкторы и деструкторы. ⇢
- R.15.4 Обработка особой ситуации. ⇢
- R.15.5 Спецификации особых ситуаций. ⇢
- R.15.6 Специальные функции. ⇢
- R.15.6.1 Функция terminate(). ⇢
- R.15.6.2 Функция unexpected(). ⇢
- R.15.7 Особые ситуации и правила доступа. ⇢
- R.16 Препроцессорная обработка. ⇢
- R.16.1 Фазы препроцессорной обработки. ⇢
- R.16.2 Триграфные последовательности. ⇢
- R.16.3 Макроопределение и макроподстановка. ⇢
- R.16.3.1 Операция # ⇢
- R.16.3.2 Операция ## ⇢
- R.16.3.3 Повторный просмотр и дальнейшие подстановки. ⇢
- R.16.3.4 Область видимости макроимен и конструкция #undef. ⇢
- R.16.4 Включение файлов. ⇢
- R.16.5 Условная трансляция. ⇢
- R.16.6 Управление строками. ⇢
- R.16.7 Команда error. ⇢
- R.16.8 Команда pragma. ⇢
- R.16.9 Пустая директива. ⇢
- R.16.10 Предопределенные макроимена. ⇢
- R.17 Приложение A: Сводка грамматики. ⇢
- R.17.1 Служебные слова. ⇢
- R.17.2 Выражения. ⇢
- R.17.3 Описания. ⇢
- R.17.4 Описатели. ⇢
- R.17.5 Описания класса. ⇢
- R.17.6 Операторы. ⇢
- R.17.7 Препроцессор. ⇢
- R.17.8 Шаблоны типа. ⇢
- R.17.9 Обработка особых ситуаций. ⇢
- R.18 Приложение B: Совместимость. ⇢
- R.18.1 Расширения. ⇢
- R.18.1.1 Возможности С++, введенные в 1985 г. ⇢
- R.18.1.2 Возможности, добавленные в C++ после 1985 г. ⇢
- R.18.2 C++ и ANSI C. ⇢
- R.18.2.1 Как бороться с расхождениями. ⇢
- R.18.3 Анахронизм. ⇢
- R.18.3.1 Определения функций старого стиля. ⇢
- R.18.3.2 Старый стиль задания инициализатора базового класса. ⇢
- R.18.3.3 Присваивание указателю this. ⇢
- R.18.3.4 Приведение указателей на функцию-член. ⇢
- R.18.3.5 Невложенность классов. ⇢
- Список служебных слов. ⇢
- * ПРИМЕРЫ * ⇢
- b1_1_1.cxx. ⇢
- b1_1_3.cxx. ⇢
- b1_4_5v.cxx. ⇢
- b1_5.cxx. ⇢
- b1__13.cxx. ⇢
- b1__14.cxx. ⇢
- b1__16.cxx. ⇢
- b2_1_3.cxx. ⇢
- b2_3.cxx. ⇢
- b2_3_6a.cxx. ⇢
- b2_3_6b.cxx. ⇢
- b2_3_7.cxx. ⇢
- b2_3__10.cxx. ⇢
- b3_1all.cxx. ⇢
- b3_2_6a.cxx. ⇢
- b3_2_6b.cxx. ⇢
- b4_6_8.cxx. ⇢
- b4_6_9.cxx. ⇢
- b5_3_2.cxx. ⇢
- b5_4_5.cxx. ⇢
- b5_5_3.cxx. ⇢
- b6_3_2.cxx. ⇢
- b6_6.cxx. ⇢
- b6_7.cxx. ⇢
- b6_8.cxx. ⇢
- b6_9.cxx. ⇢
- b7_2_8.cxx. ⇢
- b7_7.cxx. ⇢
- b8_3_3.cxx. ⇢
- Примечания. ⇢
Бьярн Страустрап.