C++20: the small things
summary
C++20 lists dozens of concrete changes: designated initializers and parenthesis aggregate construction actually allow in-place template and macro use; aggregate definition and class template argument deduction get tightened and extended (including alias templates and aggregate deduction); lambdas become default‑constructible, usable in unevaluated contexts and capturable from structured bindings; non‑type template parameters accept floats and certain aggregate types; compile‑time power grows with consteval, richer constexpr (virtual, new/delete) and is_constant_evaluated; new attributes like [[no_unique_address]] and char8_t/u8 string types land.
AI-written summary · about
chapters (16)
- 0:00Intro
- 1:42Language features
- 2:41Chapter structure
- 3:28Angular types
- 7:25Aggregate problems
- 8:52Aggregate parens
- 10:44Dynamic initialization
- 15:05Initializer
- 17:05Structure bindings
- 19:24lambdas
- 22:38template parameters
- 25:42nontype template parameters
- 29:19template argument deduction
- 45:51New attributes
- 49:14Unicode
- 51:55Questions
related talks
01h 00mC++20 - the hidden pearls
01h 01mC++23 - What's In It For You?
01h 38mC++20: Reaching for the Aims of C++
01h 02mC++20 - My Favorite Code Examples
01h 03mUnlocking the value of C++20
01h 02mC++20 Templates - the next level
01h 02mC++26 Preview - The Smaller Features
01h 00mC++23 Standard Library Preview
