Читаем C++17 STL Стандартная библиотека шаблонов полностью

Выполняем преобразование между абсолютными и относительными значениями с использованием std::chrono

Безопасно извещаем о сбое с помощью std::optional

Применяем функции для кортежей

Быстрое создание структур данных с помощью std::tuple

Замена void* с использованием std::any для повышения безопасности типов

Хранение разных типов с применением std::variant

Автоматическое управление ресурсами с помощью std::unique_ptr

Автоматическое управление разделяемой памятью кучи с использованием std::shared_ptr

Работаем со слабыми указателями на разделяемые объекты

Упрощаем управление ресурсами устаревших API с применением умных указателей

Открываем доступ к разным переменным — членам одного объекта

Генерируем случайные числа и выбираем правильный генератор случайных чисел

Генерируем случайные числа и создаем конкретные распределения с помощью STL

Глава 9. Параллелизм и конкурентность

Введение

Автоматическое распараллеливание кода, использующего стандартные алгоритмы

Приостанавливаем программу на конкретный промежуток времени

Запускаем и приостанавливаем потоки

Выполняем устойчивую к исключениям общую блокировку с помощью std::unique_lock и std::shared_lock

Избегаем взаимных блокировок с применением std::scoped_lock

Синхронизация конкурентного использования std::cout

Безопасно откладываем инициализацию с помощью std::call_once

Отправляем выполнение задач в фоновый режим с применением std::async

Реализуем идиому «производитель/потребитель» с использованием std::condition_variable

Реализуем идиому «несколько производителей/потребителей» с помощью std::condition_variable

Распараллеливание отрисовщика множества Мандельброта в ASCII с применением std::async

Небольшая автоматическая библиотека для распараллеливания с использованием std::future

Глава 10. Файловая система

Введение

Реализуем нормализатор пути файла

Получаем канонические пути к файлам из относительных путей

Составляем список всех файлов в каталоге

Инструмент текстового поиска в стиле grep

Инструмент для автоматического переименования файлов

Создаем индикатор эксплуатации диска

Подбиваем статистику о типах файлов

Инструмент для уменьшения размера папки путем замены дубликатов символьными ссылками

Об авторе

О рецензенте

<p id="AutBody_Root01"><strong>Предисловие</strong></p>

Книга по C++, которую вы держите в руках, научит вас максимально эффективно использовать C++17. В ней представлены примеры написания кода, основанные на языке С++ и его стандартной библиотеке шаблонов (Standard Template Library, STL). Поскольку в рассматриваемых здесь примерах STL применяется по максимуму, об этой библиотеке стоит сказать подробнее.

Похожие книги