Towards Correctness, Safety and Security in C++26
summary
C++26 pushes concrete changes: about 90 historical undefined-behavior categories get reclassified so compilers and the built-in constant-evaluator can diagnose initialization safety and many pointer/union errors at compile time, enabling static detection plus runtime checks via sanitizers. The standard gains a hardened standard library that aborts on contract violations, an observable-epoch facility, and relocation-aware allocators; Microsoft ships an instrumented library already. Core safety profiles miss C++26 (likely C++29), and lifetime/type-safety proposals remain experimental requiring heavy compiler work.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 1:14CrowdStrike incident security
- 2:39C++26 features vulnerabilities
- 5:21Safety types in C++
- 9:54Temporal type safety object model
- 13:11Lifetime bound safety challenges
- 15:44Low-level safety C compatibility
- 16:52Security versus functional safety
- 19:24Code undefined behavior intro
- 22:42C++26 erroneous behavior changes
- 26:19Undefined behavior optimizations
- 28:55Constant evaluation detection
- 33:23Hardened library sanitizers
- 36:15Contemporary C++ array safety
- 39:57Hardened library proposal benefits
- 44:18Contracts design-by-contract
- 50:27Core safety profiles C++29
- 54:55Lifetime safety compiler adaptations
- 58:02Summary
- 59:32Q&A
related talks
36mTowards Safety & Security in C++26
01h 02mTowards Safety and Security in C++26
01h 02mModern C++ Safety and Security At 20
01h 28mWhat C++ Needs to be Safe
01h 29mC++ Safety And Security Panel 2024
01h 26mA Path to Practically Safe C++
01h 03mLifetime Safety in C++: Past, Present and Future
01h 04mRemoving Needless Undefined Behavior for a Safer C++
