In addition to the points presented by @deft_code, an even weaker one:
- If you use
weak_ptrs that live after all theshared_ptrs to a given object have died, then this object’s memory will live in memory along with the control block until the last weak_ptr dies. In other words the object is destroyed but not deallocated until the lastweak_ptris destroyed.