Гримм Райнер - Стандартная библиотека C++ в примерах и пояснениях [2025, PDF, RUS]
Главная »
Литература
» Книги FB2 » Учебно-техническая литература
|
| Статистика раздачи | |
| Размер: 15.47 MB | Зарегистрирован: 6 месяца 4 дня | Скачано: 27 раза | |
| Работает мультитрекерная раздача | |
|
Раздают: 1 [ 0 KB/s ]
Подробная статистика пиров
|
|
|
| Автор | Сообщение | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MAGNAT ®
|
Стандартная библиотека C++ в примерах и пояснениях
Год издания: 2025 Автор: Гримм Райнер Издательство: ДМК Пресс ISBN: 978-5-93700-380-5 Язык: Русский Формат: PDF Качество: Издательский макет или текст (eBook) Интерактивное оглавление: Да Количество страниц: 338 Описание: Книга представляет собой компактный справочник по стандартной библиотеке языка программирования C++, обновленной до версии стандарта С++23. В ней изложена вся необходимая информация, которую должен знать о стандартной библиотеке профессиональный программист на C++. Вы познакомитесь с различными библиотеками в рамках общей стандартной библиотеки и стандартной библиотеки шаблонов C++ и научитесь пользоваться мощным арсеналом вспомогательных инструментов. Книга предназначена читателям, знакомым с программированием на C++ и желающим иметь под рукой удобное руководство по работе с новой версией стандарта. ОглавлениеОт издательства.................................................................................................... 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..................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
|
|||||||||||||||||||||
Главная »
Литература
» Книги FB2 » Учебно-техническая литература
|
Текущее время: 05-Дек 15:12
Часовой пояс: UTC + 5
Вы не можете начинать темы
Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы |






