C++17, part 1: The Language Features
summary
Concrete list of C++17 changes and practical effects: structural bindings for decomposing pairs/tuples/arrays, if/switch with initializers, mandatory RVO so non-copyable return-by-value works, constexpr if enabling compile-time branching and simpler variadic recursion plus fold expressions, and class template argument deduction with deduction guides for containers and aggregates. Fixes include defined evaluation order for many expressions and initializer_list quirks. GCC 7.1 implements core features, Clang mostly, and MSVC adds updates; major items like modules, concepts, coroutines and reflection remain deferred.
AI-written summary · about
chapters (10)
- 0:00Start
- 3:34Support
- 4:38Structural Bindings
- 11:53Libraries in Header Files
- 14:25Mandatory Return Value Optimization and Copy Elation
- 19:37Align Data
- 21:57Hex
- 38:03Deduction Guides
- 44:28Combine Multiple Elements
- 51:09And We Fix that It's by the Way because It Does More or Less the Same Thing as the Example above Calling the Dot Operator and the Order of in the if You Pass Something to the Dot Operator the Order Is Not Defined so We Have Now a Defined Evaluation Order for some Operands So Dot Arrow Then All the Ampersand Equal Operators That plus Equals 9s Ego's Star Equals Etc the Index Operator and the Output the I / O Operators and the Order When We Have an Order of a Function Call We Don't Specify an Order Now that the for the Arguments Ab and C They Are Evaluated in that Order








