Type-and-resource Safety in Modern C++
summary
Claims that complete type-and-resource safety is achievable in modern C++ by following the C++ Core Guidelines and enforcing a small set of rules with static analysis and minimal runtime support. The talk cites an existing Core Guidelines checker shipped with Microsoft Visual Studio, examples like gsl::span and not_null, and an owner annotation used to track ownership. Static analyzers catch dangling pointers, uninitialized values, range and invalidation errors in many practical cases, but some messy low‑level code still requires manual review.
AI-written summary · about
chapters (40)
- 0:00Intro
- 0:20Facts
- 0:44Static type checking
- 2:20Rules
- 3:06Safety Security
- 4:31CrossCore Guidelines
- 5:16What is not covered
- 6:10Fundamental ideas
- 7:39Static analysis
- 8:43Safety rules
- 9:36Stop scripting
- 10:56Resource management
- 11:48No dangling pointers
- 12:05The nightmare scenario
- 14:08Pointers are valid
- 16:06Dereferences
- 16:40Ownership
- 18:53Strong Recommendation
- 20:14Vector Implementation
- 21:23Classical Evaluation
- 22:11Invalidation
- 24:00Memory pools
- 25:24Tree graphs
- 26:11Tree pointers
- 27:28Null pointers
- 28:16Range checks
- 29:49Null pointer problems
- 31:18End pointers
- 34:27Concurrency
- 35:22Stability compatibility
- 37:00Core Guidelines
- 39:09Help
- 40:28Reading
- 41:05Overly complex code
- 42:50Using references
- 44:13Setting pointers to null
- 47:17Trusted Annotation
- 48:20Implicit Conversions
- 50:05Core Guideline
- 51:50Covariant Return Types
related talks
27mThe Core C++ Guidelines for Safer Code
49mC++ (Core) Guidelines - Safer C++
01h 26mA Path to Practically Safe C++
43mEverything I learned about static analysis and program safety in C++
01h 03mLifetime Safety in C++: Past, Present and Future
01h 01mClosing the Gap between Rust and C++ Using Principles of Static Analysis
01h 02mTowards Correctness, Safety and Security in C++26
01h 02mModern C++ Safety and Security At 20
