std::shared_ptr
Smart pointer with shared ownership via reference counting. Multiple shared_ptrs can own the same object, deleted when last owner destroyed.
Smart pointer with shared ownership via reference counting. Multiple shared_ptrs can own the same object, deleted when last owner destroyed.
Non-owning observer of shared_ptr-managed objects. Doesn't increase reference count, enables checking if object still exists.