Категории
Самые читаемые
onlinekniga.com » Компьютеры и Интернет » Программирование » Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп

Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп

Читать онлайн Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 2 3 4 5 6 7 8 9 10 ... 337
Перейти на страницу:
class="p1">   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. Общие подходы

    22.1.2.3. Непосредственное выражение идей

    22.1.2.4. Уровень абстракции

    22.1.2.5. Модульность

    22.1.2.6. Логичность и минимализм

   22.1.3. Стили и парадигмы

  22.2. Обзор истории языков программирования

   22.2.1. Первые языки программирования

   22.2.2. Корни современных языков программирования

    22.2.2.1. Язык программирования Fortran

    22.2.2.2. Язык программирования COBOL

    22.2.2.3. Язык программирования Lisp

   22.2.3. Семейство языков Algol

    22.2.3.1. Язык программирования Algol-60

    22.2.3.2. Язык программирования Pascal

    22.2.3.3. Язык программирования Ada

   22.2.4. Язык программирования Simula

   22.2.5. Язык программирования С

   22.2.6. Язык программирования С++

   22.2.7. Современное состояние дел

   22.2.8. Источники информации

 Глава 23 Обработка текста

  23.1. Текст

  23.2. Строки

  23.3. Потоки ввода-вывода

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

   23.4.1. Детали реализации

  23.5. Проблема

  23.6. Идея регулярных выражений

  23.7. Поиск с помощью регулярных выражений

  23.8. Синтаксис регулярных выражений

   23.8.1. Символы и специальные символы

   23.8.2. Классы символов

   23.8.3. Повторения

   23.8.4. Группировка

   23.8.5. Варианты

   23.8.6. Наборы символов и диапазоны

   23.8.7. Ошибки в регулярных выражениях

  23.9. Сравнение регулярных выражений

  23.10. Ссылки

 Глава 24 Числа

  24.1. Введение

  24.2. Размер, точность и переполнение

   24.2.1. Пределы числовых диапазонов

  24.3. Массивы

  24.4. Многомерные массивы в стиле языка С

  24.5. Библиотека Matrix

   24.5.1. Размерности и доступ

   24.5.2. Одномерный объект класса Matrix

   24.5.3. Двумерный объект класса Matrix

   24.5.4. Ввод-вывод объектов класса Matrix

   24.5.5. Трехмерный объект класса Matrix

  24.6. Пример: решение систем линейных уравнений

   24.6.1. Классическое исключение Гаусса

   24.6.2. Выбор ведущего элемента

   24.6.3. Тестирование

  24.7. Случайные числа

  24.8. Стандартные математические функции

  24.9. Комплексные числа

  24.10. Ссылки

 Глава 25 Программирование встроенных систем

  25.1. Встроенные системы

  25.2. Основные понятия

   25.2.1. Предсказуемость

   25.2.2. Принципы

   25.2.3. Сохранение работоспособности после сбоя

  25.3. Управление памятью

   25.3.1. Проблемы со свободной памятью

   25.3.2. Альтернатива универсальной свободной памяти

   25.3.3. Пример пула

   25.3.4. Пример стека

  25.4. Адреса, указатели и массивы

   25.4.1. Непроверяемые преобразования

   25.4.2. Проблема: дисфункциональный интерфейс

   25.4.3. Решение: интерфейсный класс

   25.4.4. Наследование и контейнеры

  25.5. Биты, байты и слова

   25.5.1. Операции с битами и байтами

   25.5.2. Класс bitset

   25.5.3. Целые числа со знаком и без знака

   25.5.4. Манипулирование битами

   25.5.5. Битовые поля

   25.5.6. Пример: простое шифрование

  25.6. Стандарты программирования

   25.6.1. Каким должен быть стандарт программирования?

   25.6.2. Примеры правил

   25.6.3. Реальные стандарты программирования

 Глава 26 Тестирование

  26.1. Чего мы хотим

   26.1.1. Предостережение

  26.2. Доказательства

  26.3. Тестирование

   26.3.1. Регрессивные тесты

   26.3.2. Модульные тесты

    26.3.2.1. Стратегия тестирования

    26.3.2.2. Схема простого теста

    26.3.2.3. Случайные последовательности

   26.3.3. Алгоритмы и не алгоритмы

    26.3.3.1. Зависимости

    26.3.3.2. Управление ресурсами

    26.3.3.3. Циклы

    26.3.3.4. Ветвление

   26.3.4. Системные тесты

    26.3.4.1. Зависимости

   

1 2 3 4 5 6 7 8 9 10 ... 337
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп.
Комментарии