Three Cool Things in C++26: Safety, Reflection & std::execution
summary
C++26 makes three concrete shifts: it defines erroneous behavior so uninitialized local variables either terminate or get detected by default with an opt‑in [[indeterminate]] to restore UB; it standardizes hardened standard library bounds checks (Google reports deployment across hundreds of millions of LOC with ~0.3% overhead and 1000+ bugs found) and formalizes trivial relocation for faster moves; and it adds compile-time reflection plus splicing (seven papers adopted, Clang/EDG prototypes and CPPFront demos on Godbolt already generate code and emit files today), and a std::execution async model with sender/receiver and thread‑pool primitives.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 2:52C++26 safety features
- 13:28Hardened library and bounds checks
- 16:03Trivial relocation
- 21:24Reflection in C++26
- 39:22Reflection demos
- 50:34Reflection future
- 1:03:34std::execution model
- 1:09:12Summary
related talks
01h 25mMove Slow and Break Things - Upgrading to C++26
01h 28mKeynote: Safety, Security, Safety and C / C++ - C++ Evolution
01h 04mRemoving Needless Undefined Behavior for a Safer C++
53mC++ Horizons
01h 30mTaming C++23 - The Things About C++23 You Do Not Know
01h 33mHow C++23 Changes the Way We Write Code
59mHow C++23 changes the way we write code
24mC++17 and 20 Goodies
