Справка
x
Поиск
Закладки
Озвучить книгу
Изменить режим чтения
Изменить размер шрифта
Оглавление
Для озвучивания и цитирования книги перейдите в режим постраничного просмотра.
Дизайн и эволюция С++
Часть I
Предыдущая страница
Следующая страница
Table of contents
Предисловие
Благодарности
Обращение к читателю
Часть I
-
Глава 1. Предыстория C++
1.1. Язык Simula и распределенные системы
1.2. Язык C и системное программирование
1.3. Немного об авторе книги
Глава 2. Язык С with Classes
2.1. Рождение C with Classes
2.2. Обзор языковых возможностей
2.3. Классы
2.4. Эффективность исполнения
2.4.1. Встраивание
2.5. Модель компоновки
2.5.1. Простые реализации
2.5.2. Модель размещения объекта в памяти
2.6. Статический контроль типов
2.6.1. Сужающие преобразования
2.6.2. О пользе предупреждений
2.7. Почему C?
2.8 Проблемы синтаксиса
2.8.1. Синтаксис объявлений в языке C
2.8.2. Тэги структур и имена типов
2.8.3. Важность синтаксиса
2.9. Производные классы
2.9.1. Полиморфизм без виртуальных функций
2.9.2. Контейнерные классы без шаблонов
2.9.3. Модель размещения объекта в памяти
2.9.4. Ретроспектива
2.10. Модель защиты
2.11. Гарантии времени исполнения
2.11.1. Конструкторы и деструкторы
2.11.2. Распределение памяти и конструкторы
2.11.3. Функции call и return
2.12. Менее существенные средства
2.12.1. Перегрузка оператора присваивания
2.12.2. Аргументы по умолчанию
2.13. Что не реализовано в C with Classes
2.14. Рабочая обстановка
Глава 3. Рождение С++
3.1. От C with Classes к C++
3.2. Цели С++
3.3. Компилятор Cfront
3.3.1. Генерирование СAкода
3.3.2. Синтаксический анализ C++
3.3.3. Проблемы компоновки
3.3.4. Версии Cfront
3.4. Возможности языка
3.5. Виртуальные функции
3.5.1. Модель размещения объекта в памяти
3.5.2. Замещение и поиск подходящей виртуальной функции
3.5.3. Сокрытие членов базового класса
3.6. Перегрузка
3.6.1. Основы перегрузки
3.6.2. ФункцииAчлены и дружественные функции
3.6.3. Операторные функции
3.6.4. Перегрузка и эффективность
3.6.5. Изменение языка и новые операторы
3.7. Ссылки
3.7.1. Lvalue и Rvalue
3.8. Константы
3.9. Управление памятью
3.10. Контроль типов
3.11. Второстепенные возможности
3.11.1. Комментарии
3.11.2. Нотация для конструкторов
3.11.3. Квалификация
3.11.4. Инициализация глобальных объектов
3.11.5. Предложения объявления
3.12. Языки C и C++
3.13. Инструменты для проектирования языка
3.14. Книга "Язык программирования С++"
3.15. Статья "Whatis?"
Глава 4. Правила проектирования языка C++
4.1. Правила и принципы
4.2. Общие правила
4.3. Правила поддержки проектирования
4.4. Технические правила
4.5. Правила поддержки низкоуровневого программирования
4.6. Заключительное слово
Глава 5. Хронология 1985-1993 гг
5.1. Введение
5.2. Версия 2.0
5.2.1. Обзор возможностей
5.3. Аннотированное справочное руководство
5.3.1. Обзор ARM
5.4. Стандартизация ANSI и ISO
5.4.1. Обзор возможностей
Глава 6. Стандартизация
6.1. Что такое стандарт?
6.1.1. Детали реализации
6.1.2. Тест на реалистичность
6.2. Работа комитета
6.2.1. Кто работает в комитете
6.3. Как велась работа
6.3.1. Разрешение имен
6.3.2. Время жизни объектов
6.4. Расширения
6.4.1. Критерии рассмотрения предложений
6.4.2. Текущее состояние дел
6.4.3. Проблемы, связанные с полезными расширениями
6.4.4. Логическая непротиворечивость
6.5. Примеры предлагавшихся расширений
6.5.1. Именованные аргументы
6.5.2. Ограниченные указатели
6.5.3. Наборы символов
Глава 7. Заинтересованность и использование
7.1. Рост интереса к C++
7.1.1. Отсутствие маркетинга C++
7.1.2. Конференции
7.1.3. Журналы и книги
7.1.4. Компиляторы
7.1.5. Инструментальные средства и среды программирования
7.2. Преподавание и изучение C++
7.3. Пользователи и приложения
7.3.1. Первые пользователи
7.3.2. Сферы применения C++
7.4. Коммерческая конкуренция
7.4.1. Традиционные языки
7.4.2. Современные языки
7.4.3. Как выдержать конкуренцию
Глава 8. Библиотеки
8.1. Введение
8.2. Проектирование библиотеки C++
8.2.1. Альтернативы при проектировании библиотеки
8.2.2. Языковые средства и построение библиотеки
8.2.3. Как работать с разнообразными библиотеками
8.3. Ранние библиотеки
8.3.1. Библиотека потокового ввода/вывода
8.3.2. Поддержка параллельности
8.4. Другие библиотеки
8.4.1. Базовые библиотеки
8.4.2. Устойчивость и базы данных
8.4.3. Библиотеки для численных расчетов
8.4.4. Специализированные библиотеки
8.5. Стандартная библиотека
Глава 9. Перспективы развития языка С++
9.1. Введение
9.2. Оценка пройденного пути
9.2.1. Достигнуты ли основные цели C++?
9.2.2. Является ли C++ логически последовательным языком?
9.2.3. Основная недоработка языка
9.3. Всего лишь мост?
9.3.1. Мост нужен надолго
9.3.2. Если C++ - это ответ, то на какой вопрос?
9.4. Что может сделать C++ более эффективным
9.4.1. Стабильность и стандарты
9.4.2. Обучение и приемы
9.4.3. Системные вопросы
9.4.4. За пределами файлов и синтаксиса
9.4.5. Подведение итогов и перспективы
Часть II
+
Алфавитный указатель
Данный блок поддерживает скрол*