Taming C++23 - The Things About C++23 You Do Not Know
summary
C++23 details: MDspan in GCC16 brings multidimensional spans with variadic subscript and stride/column/left layouts; std::print and std::generator land; std::expected offers typed error payloads (e.g. std::exception_ptr) as a lightweight alternative to exceptions; new container from_range constructors plus ranges/views (stride, zip) enable patterns like partitioning work into three threads via stride and sorting parallel arrays by zipping references. Watch for pitfalls: initializer-list vs iterator constructor ambiguity and begin/sentinel mismatches with certain view chains; deducing this collapses duplicated overloads and enables clean recursive lambdas.
AI-written summary · about
chapters (12)
- 0:00C++23 surprises intro
- 2:07Multi-dimensional span
- 18:50Error handling with expected
- 31:20Q&A on expected/optional
- 38:53New range utilities
- 59:45View categories overview
- 1:01:53Stride view for parallel
- 1:07:20Zip view for collections
- 1:11:02Out with braces
- 1:16:07Deducing this for members
- 1:24:00Recursive lambdas with deducing this
- 1:29:45Closing remarks
related talks
01h 33mHow C++23 Changes the Way We Write Code
59mHow C++23 changes the way we write code
01h 04mA Preview of C++ 23
38mWhat's New In C++23
01h 25mC++23 Ranges: Conceptual Changes and Useful Practicalities
01h 07mMultidimensional C++
01h 00mC++17 in Breadth (part 2 of 2)
01h 01mC++20: What's in it for you?
