Overview
Explore a comprehensive conference talk from C++ on Sea 2024 where Jonathan Müller, a Software Engineer at think-cell and C++ standardization committee member, delves deep into the intricacies of object lifetimes in C++. Learn crucial concepts about object creation and destruction, temporary lifetime extension, memory manipulation through std::malloc and mmap(), union interactions with constructors and strict aliasing, explicit destructor calls, storage reuse, and the roles of std::launder, std::bit_cast, and std::start_lifetime_as. Gain insights into the C++ standard, recent proposals, and compiler optimizations while understanding how undefined behavior can occur when manipulating objects that are not alive. The presentation includes detailed explanations supported by the speaker's extensive experience in developing core libraries and maintaining open-source projects like type_safe, foonathan/memory, lexy, and lauf.
Syllabus
C++ Object Lifetimes - Objects and Lifetimes in C++ Explained - Jonathan Müller - C++ on Sea 2024
Taught by
cpponsea