20 Memory management library [mem]

20.3 Smart pointers [smartptr]

20.3.2 Shared-ownership pointers [util.sharedptr]

20.3.2.3 Class template weak_ptr [util.smartptr.weak]

20.3.2.3.2 Constructors [util.smartptr.weak.const]

constexpr weak_ptr() noexcept;
Postconditions: use_count() == 0.
constexpr weak_ptr(const weak_ptr& r) noexcept; template<class Y> constexpr weak_ptr(const weak_ptr<Y>& r) noexcept; template<class Y> constexpr weak_ptr(const shared_ptr<Y>& r) noexcept;
Effects: If r is empty, constructs an empty weak_ptr object that stores a null pointer value; otherwise, constructs a weak_ptr object that shares ownership with r and stores a copy of the pointer stored in r.
Postconditions: use_count() == r.use_count().
constexpr weak_ptr(weak_ptr&& r) noexcept; template<class Y> constexpr weak_ptr(weak_ptr<Y>& r) noexcept;
Postconditions: *this contains the old value of r.
r is empty, stores a null pointer value, and r.use_count() == 0.

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant