The C++ Vector Challenge
summary
Proposes a concrete C++ encoding for formal interfaces that embeds pre/postconditions in ordinary code and builds object interface blocks compiled separately for client and implementer interfaces, showing how constructors, destructors and push_back must be split so caller-visible specific‑performance is inline. Demonstrates problems left to solve: uninitialized memory, iterator/pointer invalidation (spooky action at a distance), and surprising semantics like at() throws an exception used as control flow. Offers partial designs and slides, but vector remains unresolved.
AI-written summary · about
chapters (6)
- 0:00Introduction and history
- 20:16Vector interface design
- 43:37Object interfaces and methods
- 59:31Spooky action at a distance
- 1:08:23Conclusion and lessons
- 1:10:19Q&A and technical details
related talks
01h 36mBuilding C++ Interfaces That Are Hard to Use Incorrectly
57mSome Things C++ Does Right
01h 00mOLD VERSION: The Fine Details Behind C++ Containers And Algorithms
01h 01mFunctional C++
01h 02mWriting Standard Library Compliant Data Structures and Algorithms
58mHow to Build Cpp Interfaces That Are Hard to Use Incorrectly
01h 23mThis is C++ - How to Use the C++ Superpower to Write Better C++ Code
59mBuilding Cpp Interfaces That Are Hard to Use Incorrectly
