C++. Бархатный путь
Марченко А.Л. (
marchenko@seismic.geol.msu.ru
)
Избранные главы
Аннотация
Введение
Язык и грамматика
Эволюция языков программирования
Транслятор и компоновщик
Библиотеки
Алфавит C++
Правила образования идентификаторов
Ключевые слова и имена
Символы операций и разделителей
Литералы
Структура предложения C++
Программный модуль
Объекты и функции
Семантика
Типы
Основные типы C++
Объявление и определение
Объявление переменных
Семантика оператора объявления
Рекомендации по наименованию объектов
Комментарии: возможность выразиться неформально
Элементы программного модуля
Модули и сегменты
Класс памяти
Область действия имени
Пространство имён
Область видимости имени
Время жизни или время существования объекта
Тип связывания или тип компоновки
Глобальные переменные и константы
Выражение. Символы операций
Выражение и l-выражение
Предварительное определение указателя
Сведения об asmОбявлении
Перечень операций
Выражение
Выражения присваивания
Условные и логические выражения
Побитовые выражения
Выражения равенства
Выражения отношения
Выражения сдвига
Аддитивные выражения
Мультипликативные выражения
Выражения с указателями
Выражение приведения
Унарное выражение
Выражение размещения
Выражение освобождения
Постфиксное выражение
Первичное выражение
Константные выражения
Приоритет операций и скобочная структура выражений
Разделители. Особенности синтаксиса
Операторы C++
Соглашение об операторах вывода
Помеченный оператор
Оператор перехода
Оператор return. Точка вызова и точка возврата
Выбирающий оператор
Операторы цикла
Оператор continue как средство управления циклом
Указатели
Указатели на константу и константные указатели
Указатель void *
Массивы. Синтаксис объявления
Основные свойства массивов
Методы навигации
Массив и константный указатель
Символьная строка и массив символов
Массивы и операция sizeof
Массив констант
Многомерный массив
Многомерные массивы и указатели
Препроцессор
Директива препроцессора define
Директива include
Управление препроцессором
Функциональные макроопределения
Операция ##. Конкатенация в макроопределениях
Предопределённые макроопределения
Функция. Прототип
Предварительная инициализация параметров функции
Вызов функции
Массивы и параметры
Многомерные динамические массивы
Функции с изменяемым списком параметров
Размещение параметров
inline функции
Функция main: старт программы
Преобразование основных типов
Перечисления
typedef-объявление
Тип функции
Совместно используемые функции
Ссылка. Иллюзия имени
Класс. Объявление класса
Битовые поля
Функции-члены: прототипы и определения
Интерфейс класса
Определение и инициализация объекта-представителя класса
Конструкторы. Основные свойства
Переопределение конструктора
Инициализация объекта: параметры и инициализаторы
Конструктор копирования
Переопределение конструктора копирования
Конструкторы преобразования и преобразующие функции
Указатель this
Деструкторы
Конструкторы и деструкторы: заключительные замечания
Статические члены класса
Наследование
Базовые и производные классы
Инкапсуляция и управление доступом
Характеристики уровней доступа
Друзья класса
Указатели на объекты
Виртуальные функции
Чистые виртуальные функции и абстрактные классы
Множественное наследование
Виртуальные классы
Вложенные классы
Указатели на компоненты класса. Доступ по указателю
Объединения
Обзор принципов объектно-ориентированного программирования
Представление операций для классов. Операторные функции
Стандартные формы бинарных операторных функций
Вызов операторной функции operator ~() против вызова деструктора
Функции operator new() и operator delete()
Размещение массивов. operator new[]() и operator delete[]()
Шаблоны функций и шаблонные функции
Динамическая идентификация типов. Операция typeid
Шаблоны классов
Потоки. Основные понятия
Флаги и манипуляторы
Система контроля состояния ввода-вывода
Работа с файлами
Ошибки и исключительные ситуации
Управление исключением - блоки try и catch, операция throw
Работа системы управления исключением
Приложение 1. Грамматическая сводка
Приложение 2. Контроль типов. Типизация
Приложение 3. Прочие характеристики языков программирования
Приложение 4. Алгоритмы преобразования
Приложение 5. Дополнительный код
Приложение 6. Преобразования дробной части вещественного числа
Приложение 7. Элементы теории комплексных чисел
Приложение 8. Сведения об аппаратном обеспечении
Список литературы