C++17 in Practice - The good and the ugly
summary
C++17 is practical on VC++, gcc and clang but contains surprising pitfalls and fixes: class template argument deduction removes many explicit template args but causes unexpected overload/initializer-list and iterator-decay bugs (two string literals can become iterators spanning huge undefined memory). std::variant with visit replaces heap polymorphism for closed sets and works well. string_view dangers include dangling references from temporaries and wrong return types. New features: fold expressions, constexpr if, parallel algorithms and filesystem — useful but require care.
AI-written summary · about
chapters (20)
- 0:00Intro
- 1:01Global Objects
- 2:55Class Template Argument Deduction
- 5:53Vectors
- 13:19Constructors
- 17:47Compiler
- 23:27Very attic templates
- 25:44Compile time
- 28:13Undefined behavior
- 29:47Evaluate before
- 31:51Fold expression
- 32:57Auto parameters of templates
- 34:34Optionals
- 36:43Surprises
- 40:47Runtime polymorphism
- 45:17Overload
- 47:54Strings
- 50:27String views
- 53:54File system
- 56:05Base initialization








