Free download C++17 – The Complete Guide: First Edition by Nicolai M. Josuttis. Published by NicoJosuttis. All the new language and library features of C++17. English | 454 Pages | PDF | ISBN: 396730017X
Description
C++17 is the next evolution in modern C++ programming, now supported by major c++ compilers g++, clang, and Visual C++.
Although adopting C++17 it is not as big a step as adopting C++11, C++17 does contain a large number of valuable language and library features, which support and change the way we program in C++.
As usual, not everything is self-explanatory, combining new features gives you even more power, and there are hidden traps.
The book covers the motivation for and context of all new C++17 features (covering both language and library) with many examples and unique background information for application programmers as well as library developers.
The focus is on how these features impact day-to-day programming, what effect combining features can have, and how you can benefit from them in practice.
Basic Language Features
- Structured Bindings
- if and switch with Initializers
- Inline Variables
- Aggregates with base classes
- Mandatory RVO, copy elision, and materialization
- Nested namespaces syntax
- static_assert() with one argument
- Lambda improvements (constexpr support, capturing *this)
Template Improvements
- Class Template Argument Deduction
- Deduction Guides
- Compile-time if (constexpr if)
- Fold expressions
- Extending fold expressions
- Pack expansion in using declarations
- Non-type template parameters with placeholders (auto/decltype(auto))