C++17 in Detail: Learn the Exciting Features of The New C++ Standard!
Эта книга представляет собой подробное руководство по новым функциям и улучшениям, представленным в стандарте C++17. Автор, Bartłomiej Filipek, последовательно разбирает ключевые изменения в языке, которые делают код более выразительным, безопасным и эффективным.
Книга начинается с обзора исправлений и устаревших возможностей, которые были удалены из стандарта, что помогает разработчикам обновить свои знания и избежать использования устаревших конструкций. Далее подробно рассматриваются важные уточнения языка, такие как строгий порядок вычисления выражений и гарантированное устранение копирования, которые повышают предсказуемость и производительность кода.
Особое внимание уделено новым общим возможностям языка, включая декомпозицию привязок (structured bindings), инициализацию в условиях if и switch, встроенные переменные и constexpr лямбда-выражения. Эти функции позволяют писать более компактный и читаемый код, соответствующий современным идиомам C++.
Значительная часть книги посвящена улучшениям в шаблонах: выводу аргументов шаблонов для классов, сверткам выражений (fold expressions), условной компиляции с if constexpr и объявлению параметров шаблонов с auto. Эти изменения значительно упрощают метапрограммирование и написание обобщённого кода. Завершает обзор рассмотрение стандартных атрибутов, добавленных в C++17, которые дают разработчикам больше контроля над поведением кода и оптимизациями компилятора.









