Embracing the **noexcept** Operator and Specifier *Safely*
summary
Explains that the noexcept operator is a compile time query used mainly to let generic code pick a faster path for moves and swaps, demonstrates a vector push_back example that saves one fewer copy when moves are nonthrowing, shows microbenchmarks and object‑size tradeoffs where speed gains are typically negligible but size can drop, documents compiler edge bugs and differences across standards, cites a 1,375‑page book with 100+ pages on noexcept, and advocates a C++23 fix around conditional noexcept and cross‑TU optimization.
AI-written summary · about
chapters (24)
- 0:00Start
- 7:07Conservative Behavior
- 7:56Compilers Have Bugs
- 9:51Compound Expressions
- 10:12Composition
- 11:17User Provided Special Member Functions
- 18:21Use Cases
- 19:49What's the Strong Exception Safety Guarantee
- 33:47The Pitfalls
- 35:57Object Code Optimization
- 36:40Library Traits
- 44:23Generic Context Function
- 44:54Enforce Correctness at Compile Time
- 47:43Stack Unwinding
- 53:00Explicitly Declaring a Destructor
- 57:37Node Cept Wrapper
- 1:05:24Pitfalls
- 1:13:05Costly Runtime Performance
- 1:13:39The Zero Cost Exception Model
- 1:15:42Micro Benchmark
- 1:16:46Performance Benefit
- 1:17:24Optimization Conflated with Code Size
- 1:21:15Conclusion
- 1:26:14Why Are You Allowed To Mark a Destructor as no except False
related talks
01h 23mThis is C++ - How to Use the C++ Superpower to Write Better C++ Code
01h 00mOLD VERSION: The Fine Details Behind C++ Containers And Algorithms
01h 19mThis is C++: Uncompromised Performance, Undefined Behavior, & Move Semantics
43mC++: All the flavours of operators new and delete
01h 21mNarrow Contracts and `noexcept` are Inherently Incompatible in C++
36mInterfaces Matter
57m“The Unexceptional Exceptions"
52mNon-conforming C++: the Secrets the Committee Is Hiding From You
