Practical C++17
summary
Applying C++17 to a 25k LOC project shows concrete wins and pitfalls: ChaiScript (25k LOC) used as the testbed reveals noexcept in the type system gives ~1% runtime improvement but forces doubled overloads for C++14 compatibility, structured bindings can silently break RVO and blow up generated code, and adding a transparent comparator for string_view yields ~2% runtime savings while careless string_view use creates dangerous temporaries. Fold expressions, in_place_back and deduction guides help maintainability and overload support.
AI-written summary · about
chapters (21)
- 0:00Introduction and background
- 3:29C++17 feature overview
- 4:40Structured bindings and if
- 6:12Standard library improvements
- 7:54Introducing string view
- 8:37Nested namespaces
- 9:11Template type deduction
- 11:13Compile-time if
- 11:52Fold expressions
- 13:56Noexcept in type system
- 15:54Impact of noexcept on code
- 20:47Impact of if constexpr
- 22:06Impact of if init expressions
- 25:29Impact of nested namespaces
- 27:18Impact of template deduction
- 35:06Impact of structured bindings
- 41:02Impact of fold expressions
- 43:28Impact of in-place container
- 44:18Impact of string view
- 51:32Impact of if constexpr revisited
- 53:08Impact of deduction guides








