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

ЖАНРЫ

Программирование. Принципы и практика использования C++ Исправленное издание
Шрифт:

Глава 19 Векторы, шаблоны и исключения

19.1. Проблемы

19.2. Изменение размера

19.2.1. Представление

19.2.2. Функции reserve и capacity

19.2.3. Функция resize

19.2.4. Функция push_back

19.2.5. Присваивание

19.2.6. Предыдущая версия

класса vector

19.3. Шаблоны

19.3.1. Типы как шаблонные параметры

19.3.2. Обобщенное программирование

19.3.3. Контейнеры и наследование

19.3.4. Целые типы как шаблонные параметры

19.3.5. Вывод шаблонных аргументов

19.3.6. Обобщение класса vector

19.4. Проверка диапазона и исключения

19.4.1. Примечание: вопросы проектирования

19.4.1.1. Совместимость

19.4.1.2. Эффективность

19.4.1.3. Ограничения

19.4.1.4. Необязательная проверка

19.4.2. Признание: макрос

19.5. Ресурсы и исключения

19.5.1. Потенциальные проблемы управления ресурсами

19.5.2. Получение ресурсов — это инициализация

19.5.3. Гарантии

19.5.4. Класс auto_ptr

19.5.5. Принцип RAII для класса vector

Глава 20 Контейнеры и итераторы

20.1. Хранение и обработка данных

20.1.1. Работа с данными

20.1.2. Обобщение кода

20.2. Принципы библиотеки STL

20.3. Последовательности и итераторы

20.3.1. Вернемся к примерам

20.4. Связанные списки

20.4.1. Операции над списками

20.4.2. Итерация

20.5. Еще одно обобщение класса vector

20.6. Пример: простой текстовый редактор

20.6.1. Строки

20.6.2. Итерация

20.7. Классы vector, list и string

20.7.1. Операции insert и erase

20.8.

Адаптация нашего класса vector к библиотеке STL

20.9. Адаптация встроенных массивов к библиотеке STL

20.10. Обзор контейнеров

20.10.1. Категории итераторов

Глава 21 Алгоритмы и ассоциативные массивы

21.1. Алгоритмы стандартной библиотеки

21.2. Простейший алгоритм: find

21.2.1. Примеры использования обобщенных алгоритмов

21.3. Универсальный алгоритм поиска: find_if

21.4. Объекты-функции

21.4.1. Абстрактная точка зрения на функции-объекты

21.4.2. Предикаты на членах класса

21.5. Численные алгоритмы

21.5.1. Алгоритм accumulate

21.5.2. Обобщение алгоритма accumulate

21.5.3. Алгоритм inner_product

21.5.4. Обобщение алгоритма inner_product

21.6. Ассоциативные контейнеры

21.6.1. Ассоциативные массивы

21.6.2. Обзор ассоциативных массивов

21.6.3. Еще один пример ассоциативного массив

21.6.4. Алгоритм unordered_map

21.6.5. Множества

21.7. Копирование

21.7.1. Алгоритм copy

21.7.2. Итераторы потоков

21.7.3. Использование класса set для поддержания порядка

21.7.4. Алгоритм copy_if

21.8. Сортировка и поиск

Часть IV Дополнительные темы

Глава 22 Идеалы и история

22.1. История, идеалы и профессионализм

22.1.1. Цели и философия языка программирования

22.1.2. Идеалы программирования

22.1.2.1. Чего мы хотим?

22.1.2.2. Общие подходы

Поделиться с друзьями: