filmov
tv
A Deep Dive Into C++ Object Lifetimes - Jonathan Müller - C++Now 2024

Показать описание
---
A Deep Dive Into C++ Object Lifetimes - Jonathan Müller - C++Now 2024
---
A C++ program manipulate objects, but it is undefined behavior if you attempt to manipulate them while they are not alive.
So let's do a deep dive into object lifetime.
When are objects created and when are they destroyed?
How does temporary lifetime extension come into play and what changed there recently?
What happens when you std::malloc memory and just pretend objects are there without creating anything?
Or worse: You use mmap() to read shared memory.
How do unions interact with constructors, strict aliasing, or the "common initial sequence"?
What when you explicitly call the destructor and later re-use the same storage?
What's the deal with std::launder, std::bit_cast, and std::start_lifetime_as?
We'll answer all of those questions and much more.
We'll do that by looking at the C++ standard, old and new proposals, and compiler optimizations.
---
---
Jonathan Müller
---
C++Now 2025 - 28th April - 2nd May
C++Now is an annual onsite international C++ programming and coding conference held in Aspen, Colarado. For all C++ developers, C++ software engineers and those involved with the C++ language, CppNow provides an indepth and technical content provided by the best and brightest C++ experts of the C++ world.
Video Sponsors: millennium and think-cell
---
---
#boost #cpp #cppprogramming #cplusplus #software development
A Deep Dive Into C++ Object Lifetimes - Jonathan Müller - C++Now 2024
---
A C++ program manipulate objects, but it is undefined behavior if you attempt to manipulate them while they are not alive.
So let's do a deep dive into object lifetime.
When are objects created and when are they destroyed?
How does temporary lifetime extension come into play and what changed there recently?
What happens when you std::malloc memory and just pretend objects are there without creating anything?
Or worse: You use mmap() to read shared memory.
How do unions interact with constructors, strict aliasing, or the "common initial sequence"?
What when you explicitly call the destructor and later re-use the same storage?
What's the deal with std::launder, std::bit_cast, and std::start_lifetime_as?
We'll answer all of those questions and much more.
We'll do that by looking at the C++ standard, old and new proposals, and compiler optimizations.
---
---
Jonathan Müller
---
C++Now 2025 - 28th April - 2nd May
C++Now is an annual onsite international C++ programming and coding conference held in Aspen, Colarado. For all C++ developers, C++ software engineers and those involved with the C++ language, CppNow provides an indepth and technical content provided by the best and brightest C++ experts of the C++ world.
Video Sponsors: millennium and think-cell
---
---
#boost #cpp #cppprogramming #cplusplus #software development
Комментарии