This is why we can('t) have nice things
summary
Shows concrete oddities with small code demos and explains why they behave that way: uninitialized primitives and array default construction, the order of evaluation and unspecified side effects, mutable lambdas vs copy/reference captures, and why std::future join-on-destruction makes async appear synchronous. Covers C++ origins, the memory model, unions and type-system tricks, cites P105/executors and cppreference. Good for people who want runnable examples, exact behavioral claims, and pointers to proposals and posts rather than high-level platitudes.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 0:52C++ examples
- 1:42Weird behaviors in C++
- 7:22Origins and history
- 11:49Design philosophy
- 15:51Flexibility in C++
- 20:49Explaining the weirdness
- 30:23Futures and unions
- 35:12Conclusion
- 37:51Q&A
related talks
01h 03mUnlocking the value of C++20
58mUnderstanding and Mastering C++'s Complexity
33mC++: Unexpected Behaviour
01h 10mAn Overview of C++11/14, Part II
01h 30m50 shades of C++
01h 03mWriting sustainable software. The how and the what!
01h 01mEmbracing PODs Safely Until They Die
52mExploring C++17 and beyond
