Стандартная библиотека C++ в примерах и пояснениях

Стандартная библиотека C++ в примерах и пояснениях

Стандартная библиотека C++ в примерах и пояснениях
Автор: Гримм Райнер
Переводчик: А. В. Логунов
Дата выхода: 2025
Издательство: ДМК Пресс
Количество страниц: 338
Размер файла: 4.2 MB
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы

От издательства....12
Об авторе....13
Введение....14
Назначение этой книги....14
Условные обозначения ....14
Примеры исходного кода....15
Исходный код....15
Значение и объект....15
Признательности....15
Дальнейшая информация....16
Циппи....16
1. Стандартная библиотека....17
Краткий обзор....17
История....17
Краткий обзор....18
Вспомогательные инструменты....19
Стандартная библиотека шаблонов....19
Библиотеки для работы с числами....22
Библиотеки для работы с текстом....22
Библиотека для работы с вводом и выводом данных....23
Библиотеки для работы с многопоточностью....23
Использование библиотек....25
Вставка заголовочных файлов....25
Импорт стандартной библиотеки....25
Использование именных пространств....26
Сборка исполняемого файла....28
2. Вспомогательные инструменты....29
Краткий обзор....29
Вспомогательные функции....29
std::min, std::max и std::minmax....30
std::midpoint и std::lerp....31
std::move....33
std::forward....33
std::to_underlying....35
std::swap....35
Адаптеры функциональных единиц кода....35
std::bind....35
std::bind_front (C++20)....37
std::bind_back (C++23)....37
std::function....37
Пары....38
std::make_pair....39
Кортежи....39
std::make_tuple....40
std::tie и std::ignore....40
Обертки вокруг ссылок....41
std::ref и std::cref....42
Умные указатели....43
std::unique_ptr....44
Специальные удалители....47
std::make_unique....47
std::shared_ptr....47
std::make_shared....48
std::shared_ptr из указателя this....49
std::weak_ptr....49
Циклические ссылки....51
Признаки типов....52
Проверка информации о типе....53
Отношения типов....56
Модификации типов....57
Операции на признаках....58
Отношения между членами....59
Константно-вычисляемый контекст....59
Библиотека для работы со временем....60
Временная точка....61
Продолжительность времени....62
Часы ....64
Время дня....65
Календарь....65
Часовой пояс....66
Функциональность библиотеки chrono по вводу-выводу ....68
Новые обобщенные типы std::any, std::optional и std::variant....68
3. Интерфейс всех контейнеров....78
Краткий обзор....78
Создание и удаление....79
Размер контейнеров....80
Доступ к элементам контейнера....81
Присваивание и обмен контейнеров местами....83
Сравнение контейнеров....84
Стирание контейнеров....85
4. Контейнеры последовательностей....87
Краткий обзор....87
Массивы....89
Векторы....90
Размер в сопоставлении с емкостью....91
Очередь с двусторонним доступом....93
Списки....94
Впереднаправленные списки....96
5. Ассоциативные контейнеры....99
Краткий обзор....99
Проверка на наличие элемента....101
Вставка и удаление....102
Упорядоченные ассоциативные контейнеры ....103
Краткий обзор....103
Ключи и значения....103
Критерий сравнения....104
Специальные функции поиска....105
Неупорядоченные ассоциативные контейнеры....107
Краткий обзор....107
Ключи и значения....108
Производительность....108
Хеш-функция....109
6. Адаптеры контейнеров....112
Краткий обзор....112
Линейные контейнеры....112
Стек ....113
Очередь....114
Очередь с приоритетом....115
Ассоциативные контейнеры....116
std::sorted_unique....117
7. Виды на последовательности объектов....118
Краткий обзор....118
Доступ к смежно расположенным объектам....118
Многомерный доступ....122
8. Итераторы....128
Краткий обзор....128
Категории итераторов....129
Критерий итератора....130
Полезные функции....131
Адаптеры итераторов....133
Итераторные адаптеры вставки....133
Потоковые итераторные адаптеры....134
9. Вызываемые единицы кода....136
Краткий обзор....136
Функции....137
Функциональные объекты ....137
Предопределенные функциональные объекты....138
Лямбда-функции....139
10. Стандартные алгоритмы....140
Краткий обзор....140
Общепринятые правила....141
Итераторы как связующее звено....143
Последовательное, параллельное либо параллельно-векторизованное
исполнение ....143
Политики исполнения....143
Параллельные версии стандартных алгоритмов ....145
for_each....146
Немодифицирующие стандартные алгоритмы....148
Поиск элементов....148
Подсчет элементов....149
Проверка условий на диапазонах....150
Сравнение диапазонов....151
Поиск диапазонов внутри диапазонов....153
Модифицирующие стандартные алгоритмы ....155
Копирование элементов и диапазонов....155
Замена элементов и диапазонов....156
Удаление элементов и диапазонов....157
Заполнение и создание диапазонов....159
Перемещение диапазонов....160
Обмен диапазонами....161
Преобразование диапазонов....161
Инверсия диапазонов ....162
Поворот диапазонов....163
Сдвиг диапазонов....164
Произвольная перетасовка диапазонов....165
Удаление дубликатов....166
Разбиение диапазонов....167
Сортировка....169
Двоичный поиск....171
Операции слияния....172
Кучи....176
Минимум и максимум....178
Перестановки....180
Численные алгоритмы....181
Новые параллельные алгоритмы в стандарте C++17....183
Неинициализированная память....187
11. Диапазоны....189
Краткий обзор....189
Диапазон....190
std::ranges....190
Сторожок....191
Вид....192
Адаптеры диапазонов....192
std::generator....195
Работа прямо на контейнерах....195
Композиция функций....197
Ленивое оценивание....198
Алгоритмы из std в сопоставлении с алгоритмами из std::ranges....199
12. Числа....201
Краткий обзор....201
Случайные числа....201
Генератор случайных чисел....201
Распределение случайных чисел....202
Числовые функции, унаследованные у языка C....204
Математические константы....206
13. Строковые объекты....208
Краткий обзор....208
Создание и удаление....210
Конвертация между последовательностями символов C++ и C....211
Размер в сопоставлении с емкостью....212
Сравнение....214
Конкатенация строковых объектов....214
Доступ к элементам....215
Ввод и вывод данных....216
Поиск....217
Проверка на наличие подпоследовательности символов....220
Проверка на наличие префикса или суффикса....220
Проверка на наличие содержащейся подпоследовательности символов....220
Модифицирующие операции....221
Числовые конвертации....223
14. Виды на строковые объекты....226
Краткий обзор....226
Создание и инициализация....227
Немодифицирующие операции....228
Модифицирующие операции....228
15. Регулярные выражения....231
Краткий обзор....231
Типы символов....232
Объекты регулярного выражения....233
Результат поиска match_results....234
std::sub_match....236
Совпадение....237
Поиск....238
Замена....239
Форматирование....241
Повторный поиск....242
std::regex_iterator....242
std::regex_token_iterator....243
16. Потоки ввода и вывода....245
Краткий обзор....245
Иерархия....246
Функции ввода и вывода....247
Извлечение данных (ввод)....248
Форматированное извлечение....248
Неформатированное извлечение....249
Вставка данных (вывод)....250
Конкретизатор формата....250
Потоки данных....253
Строковые потоки....253
Файловые потоки....255
Произвольный доступ....257
Состояние потока данных....258
Пользовательские типы данных....260
17. Форматирование....262
Краткий обзор....262
Форматирующие функции....262
std::vformat, std::vformat_to и std::make_format_args....263
std::print и std::println....263
Синтаксис....264
Конкретизация формата....265
Символы заполнения и выравнивание текста....265
Знак, ширина и прецизионность чисел....265
Типы данных....266
Пользовательский форматизатор....266
Форматирование контейнера std::vector....267
18. Файловая система....269
Краткий обзор....269
Классы....271
Манипулирование разрешениями на доступ к файлу....272
Функции-нечлены....273
Чтение и установка времени последней записи файла....274
Информация о пространстве в файловой системе....275
Типы файлов....276
Получение типа файла....277
19. Многопоточность....279
Краткий обзор....279
Модель памяти....279
Атомарные типы данных....280
std::atomic_flag....280
std::atomic....281
Фундаментальный интерфейс атомарных типов....281
Пользовательские атомарные типы std::atomic<user-defined type>....282
Все атомарные операции....285
Потоки инструкций....287
std::thread....287
Создание....287
Время жизни....288
Аргументы....289
Операции....291
Автоматическое присоединение....292
Сигнал остановки....293
std::stop_token, std::stop_source и std::stop_callback....294
Коллективные переменные....296
Гонка за данными....296
Мьютексы....298
Взаимная бокировка....300
Блокировочные замки....302
Потокобезопасная инициализация....305
Потоково-локальные данные....306
Условные переменные....307
Семафоры....310
Координационные типы....312
std::latch....312
std::barrier....314
Задания....315
Потоки инструкций в сопоставлении с заданиями....315
Синхронизация....321
20. Сопрограммы....323
Краткий обзор....323
co_yield....324
co_await ....324
Типы, допускающие ожидание....325
Бесконечный поток данных посредством co_yield....325
Предметный указатель....329

Книга представляет собой компактный справочник по стандартной библиотеке языка программирования C++, обновленной до версии стандарта С++23. В ней изложена вся необходимая информация, которую должен знать о стандартной библиотеке профессиональный программист на C++. Вы познакомитесь с различными библиотеками в рамках общей стандартной библиотеки и стандартной библиотеки шаблонов C++ и научитесь пользоваться мощным арсеналом вспомогательных инструментов.
Книга предназначена читателям, знакомым с программированием на C++ и желающим иметь под рукой удобное руководство по работе с новой версией стандарта.


Похожее:

Список отзывов:

Нет отзывов к книге.