Осваиваем C++17 STL
Современный C++ далеко ушел после 2011 года. Последнее обновление стандарта — С++17 — уже утверждено и внедряется в некоторые реализации.
Эта книга послужит вам путеводителем по стандартной библиотеке C++ и познакомит с самыми новыми возможностями, включенными в С++17.
Издание начинается с подробного исследования стандартной библиотеки шаблонов C++STL (Standard Template Library). Вы узнаете, чем отличаются классический полиморфизм от обобщенного программирования, лежащего в основе STL. Также вы увидите, как использовать на практике разные алгоритмы и контейнеры, имеющиеся в STL. Далее следует описание инструментов современного C++. В этой части вы познакомитесь с алгебраическими типами, такими как std:: optional, словарными типами, такими как std:: function, умными указателями и примитивами синхронизации, такими как std:: atomic и std:: mutex. В заключительной части вашему вниманию будет представлена поддержка регулярных выражений в C++ и операций ввода/вывода с файлами.
К концу книги вы получите достаточно полное представление о возможностях и внутренних механизмах стандартной библиотеки С++17, чтобы использовать их в своих программах и библиотеках.
С этой книгой вы:
- научитесь создавать свои типы итераторов, диспетчеров памяти и пулов потоков выполнения;
- овладеете стандартными контейнерами и стандартными алгоритмами;
- усовершенствуете свой код, заменив new/delete умными указателями;
- усвоите разницу между мономорфными, полиморфными и обобщенными алгоритмами;
- узнаете смысл и назначение словарных типов, типов-произведений и типов-сумм.