Выбрать главу

   17.9.2. Указатели, ссылки и наследование

   17.9.3. Пример: списки

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

   17.9.5. Использование списков

   17.10. Указатель this

   17.10.1. Еще раз об использовании списков

Глава 18 Векторы и массивы

  18.1. Введение

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

   18.2.1. Конструкторы копирования

   18.2.2. Копирующее присваивание

   18.2.3. Терминология, связанная с копированием

  18.3. Основные операции

   18.3.1. Явные конструкторы

   18.3.2. Отладка конструкторов и деструкторов

  18.4. Доступ к элементам вектора

   18.4.1. Перегрузка ключевого слова const

  18.5. Массивы

   18.5.1. Указатели на элементы массива

   18.5.2. Указатели и массивы

   18.5.3. Инициализация массива

   18.5.4. Проблемы с указателями

  18.6. Примеры: палиндром

   18.6.1. Палиндромы, созданные с помощью класса string

   18.6.2. Палиндромы, созданные с помощью массива

   18.6.3. Палиндромы, созданные с помощью указателей

Глава 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. Обзор контейнеров