Daily bit(e) of C++ | std::weak_ptr
Daily bit(e) of C++ #426, A weak smart pointer constructible from std::shared_ptr: std::weak_ptr.
std::weak_ptr is a smart pointer type that can be constructed from a std::shared_ptr instance.
A std::weak_ptr instance does not count towards owning references and will therefore not keep the held instance alive; however, it can be safely upgraded to a std::shared_ptr.