Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]

     

C++ Стандартная библиотека. Для профессионалов

Джосьютис Н.

Издано: Издательский дом "Питер"
ISBN: 5947236354
Твердый переплет, 730 стр.

Начало
Cодержание
Отрывок
[Заказать книгу в магазине "Мистраль"]

Полное содержание

Предисловие

Благодарности



Глава 1. О книге
Зачем написана эта книга
Что необходимо знать читателю
Стиль и структура книги
Как читать эту книгу
Текущая ситуация
От издателя перевода


Глава 2. Знакомство с C++ и стандартной библиотекой
История
Новые языковые возможности
Шаблоны
Явная инициализация базовых типов
Обработка исключений
Пространства имен
Тип bool
Ключевое слово explicit
Новые операторы преобразования типа
Инициализация константных статических членов класса
Определение main
Сложность алгоритмов


Глава 3. Общие концепции
Пространство имен std
Заголовочные файлы
Обработка ошибок и исключений
Стандартные классы исключений
Члены классов исключений
Генерирование стандартных исключений
Классы исключений, производные от exception
Распределители памяти


Глава 4. Вспомогательные средства
Пары
Парные сравнения
Вспомогательная функция make_pair
Примеры использования пар
Класс auto_ptr
Знакомство с классом auto_ptr
Передача прав владения в auto_ptr
Объекты auto_ptr как переменные классов
Неправильное использование класса auto_ptr
Примеры использования класса auto_ptr
Подробное описание класса auto_ptr
Числовые пределы
Класс numeric_limits
Пример использования класса numeric_limits
Вспомогательные функции
Вычисление минимума и максимума
Перестановка двух значений
Вспомогательные операторы сравнения
Заголовочные файлы < cstddef > и < cstdlib >
Определения < cstddef >
Определения < cstdlib >


Глава 5. Стандартная библиотека шаблонов
Компоненты STL
Контейнеры
Последовательные контейнеры
Ассоциативные контейнеры
Контейнерные адаптеры
Итераторы
Примеры использования ассоциативных контейнеров
Категории итераторов
Алгоритмы
Интервалы
Использование нескольких интервалов
Итераторные адаптеры
Итераторы вставки
Потоковые итераторы
Обратные итераторы
Модифицирующие алгоритмы
«Удаление» элементов
Модифицирующие алгоритмы и ассоциативные контейнеры
Алгоритмы и функции классов
Унифицированные пользовательские функции
Передача функций алгоритмам в качестве аргументов
Примеры передачи функций в аргументах алгоритмов
Предикаты
Объекты функций
Понятие объекта функции
Стандартные объекты функций
Элементы контейнеров
Требования к элементам контейнеров
Семантика значений и ссылочная семантика
Ошибки и исключения внутри STL
Обработка ошибок
Обработка исключений
Расширение STL


Глава 6. Контейнеры STL
Общие возможности и операции
Общие возможности контейнеров
Общие операции над контейнерами
Векторы
Возможности векторов
Операции над векторами
Векторы как обычные массивы
Обработка исключений
Примеры использования векторов
Класс vector < bool >
Деки
Возможности деков
Операции над деками
Обработка исключений
Примеры использования деков
Списки
Возможности списков
Операции над списками
Обработка исключений
Примеры использования списков
Множества и мультимножества
Возможности множеств и мультимножеств
Операции над множествами и мультимножествами
Обработка исключений
Примеры использования множеств и мультимножеств
Пример определения критерия сортировки на стадии выполнения
Отображения и мультиотображения
Возможности отображений и мультиотображений
Операции над отображениями и мультиотображениями
Отображения как ассоциативные массивы
Обработка исключений
Примеры использования отображений и мультиотображений
Пример с отображениями, строками и изменением критерия сортиров
нения
Другие контейнеры STL
Строки как контейнеры STL
Обычные массивы как контейнеры STL
Хэш-таблицы
Реализация ссылочной семантики
Рекомендации по выбору контейнера
Типы и функции контейнеров
Определения типов
Операции создания, копирования и уничтожения
Немодифицирующие операции
Присваивание
Прямой доступ к элементам
Операции получения итераторов
Вставка и удаление элементов
Специальные функции для списков
Поддержка распределителей памяти
Обработка исключений в контейнерах STL


Глава 7. Итераторы STL
Заголовочные файлы итераторов
Категории итераторов
Итераторы ввода
Итераторы вывода
Прямые итераторы
Двунаправленные итераторы
Итераторы произвольного доступа
Проблема увеличения и уменьшения итераторов в векторах
Вспомогательные функции итераторов
Перебор итераторов функцией advance
Обработка расстояния между итераторами функцией distance
Перестановка элементов функцией iter_swap
Итераторные адаптеры
Обратные итераторы
Итераторы вставки
Потоковые итераторы
Трактовка итераторов
Написание унифицированных функций для итераторов
Пользовательские итераторы


Глава 8. Объекты функций STL
Концепция объектов функций
Объект функции в качестве критерия сортировки
Объекты функций с внутренним состоянием
Возвращаемое значение алгоритма for_each
Предикаты и объекты функций
Стандартные объекты функций
Функциональные адаптеры
Функциональные адаптеры для функций классов
Функциональные адаптеры для обычных функций
Написание пользовательских объектов функц
ных адаптеров
Дополнительные композиционные адаптеры
Унарные композиционные адаптеры
Бинарные композиционные адаптеры


Глава 9. Алгоритмы STL
Заголовочные файлы алгоритмов
Общий обзор алгоритмов
Введение
Классификация алгоритмов
Вспомогательные функции
Алгоритм for_each
Немодифицирующие алгоритмы
Подсчет элементов
Минимум и максимум
Поиск элементов
Сравнение интервалов
Модифицирующие алгоритмы
Копирование элементов
Преобразование и объединение элементов
Обмен интервалов
Присваивание
Замена элементов
Алгоритмы удаления
Удаление элементов с заданным значением
Удаление дубликатов
Перестановочные алгоритмы
Перестановка элементов в обратном порядке
Циклический сдвиг элементов
Перестановка элементов
Перестановка элементов в случайном порядке
Перемещение элементов в начало
Алгоритмы сортировки
Сортировка всех элементов
Частичная сортировка
Разбиение по n-му элементу
Сортировка в куче
Алгоритмы упорядоченных интервалов
Поиск элементов
Слияние интервалов
Численные алгоритмы
Обработка интервалов
Преобразования относительных и абсолютных значений


Глава 10. Специальные контейнеры
Стеки
Основной интерфейс
Пример использования стека
Строение класса stack
Пользовательская реализация стека
Очереди
Основной интерфейс
Пример использования очереди
Строение класса queue
Пользовательская реализация очереди
Приоритетные очереди
Основной интерфейс
Пример использования приоритетных очередей
Строение класса priority_queue
Битовые поля
Примеры использования битовых полей
Строение класса bitset


Глава 11. Строки
Общие сведения
Пример построения имени временного файла
Пример чтения слов и вывода символов в обратном порядке
Описание строковых классов
Строковые типы
Операции со строками
Конструкторы и деструкторы
Строки и C-строки
Размер и емкость
Обращение к символам
Операции сравнения
Модификация строк
Подстроки и конкатенация
Операторы ввода-вывода
Поиск
Значение npos
Поддержка итераторов для строк
Интернационализация
Эффективность
Строки и векторы
Строение строковых классов
Определения типов и статические значения
Операции создания, копирования и уничтожения строк
Операции с размером и емкостью
Операции сравнения
Обращение к символам
Построение C-строк и символьных массивов
Модифицирующие операции
Поиск
Выделение подстрок и конкатенация
Функции ввода-вывода
Получение итераторов
Поддержка распределителей памяти


Глава 12. Числовые типы
Комплексные числа
Примеры использования класса complex
Операции с комплексными числами
Строение класса complex
Массивы значений
Знакомство с массивами значений
Подмножества элементов в массивах значений
Строение класса valarray
Классы подмножеств элементов
Глобальные математические функции


Глава 13. Ввод-вывод с использованием потоковых классов
Общие сведения о потоках ввода-вывода
Потоковые объекты
Потоковые классы
Глобальные потоковые объекты
Потоковые операторы
Манипуляторы
Простой пример
Основные потоковые классы и объекты
Иерархия потоковых классов
Глобальные потоковые объекты
Заголовочные файлы
Стандартные операторы << и >>
Оператор вывода <<
Оператор ввода >>
Ввод-вывод специальных типов
Состояние потока данных
Константы состояния потока данных
Функции для работы с состоянием потока данных
Состояние потока данных и логические условия
Состояние потока данных и исключения
Стандартные функции ввода-вывода
Функции ввода
Функции вывода
Пример использования
Манипуляторы
Принципы работы манипуляторов
Пользовательские манипуляторы
Форматирование
Форматные флаги
Форматированный ввод-вывод логических данных
Ширина поля, заполнитель, выравнивание
Отображение знака для положительных чисел и вывод в верхнем регистре
Система счисления
Формат вещественных чисел
Общие параметры форматирования
Интернационализация
Доступ к файлам
Режимы открытия файлов
Произвольный доступ к файлам
Файловые дескрипторы
Связывание потоков ввода-вывода
Нежесткое связывание функцией tie
Жесткое связывание с использованием потоковых буферов
Перенаправление стандартных потоков данных
Потоки чтения и записи
Потоковые классы для работы со строками
Классы строковых потоков данных
Потоковые классы char*
Операторы ввода-вывода для пользовательских типов
Реализация операторов вывода
Реализация операторов ввода
Ввод-вывод с использованием вспомогательных функций
Пользовательские операторы с функциями неформатированно
Пользовательские форматные флаги
Правила построения пользовательских операторов ввода-вывода
Классы потоковых буферов
Потоковые буферы с точки зрения пользователя
Итераторы потоковых буферов
Пользовательские потоковые буферы
Проблемы эффективности
Синхронизация со стандартными потоками данных C
Буферизация в потоковых буферах
Непосредственная работа с потоковыми буферами


Глава 14. Интернационализация
Различия в кодировках символов
Расширенные и многобайтовые кодировки
Трактовки символов
Интернационализация специальных символов
Концепция локального контекста
Использование локальных контекстов
Фацеты
Строение объекта локального контекста
Строение фацетов
Числовое форматирование
Форматирование времени и даты
Форматирование денежных величин
Классификация и преобразования символов
Контекстная сортировка
Интернационализация сообщений


Глава 15. Распределители памяти
Использование распределителей в прикладном программировании
Использование распределителей при программировании библиотек
Инициализирующий итератор
Временные буферы
Распределитель по умолчанию
Пользовательский распределитель
Требования к распределителям памяти
Определения типов
Операции
Операции с неинициализированной памятью
Ресурсы Интернета
Группы Usenet
URL-адреса
Библиография
Алфавитный указатель

Начало
Cодержание
Отрывок
[Заказать книгу в магазине "Мистраль"]

 

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...