C++17 – The Complete Guide: First Edition by Nicolai M. Josuttis

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))

Leave a Comment