Ann*_*inn 3 c++ shared-ptr weak-ptr
我怎样才能得到 aweak_ptr<void>到 a shared_ptr<Type>?
我如何锁定 aweak_ptr<void>并最终生成 a shared_ptr<Type>?
Type有一个不平凡的析构函数,假设weak_ptr<...>永远不会调用这个析构函数是否正确?
void 弱指针是我在这种情况下想要的,它仅用于监视多种类型的共享指针的引用计数,并给出指向现有对象的共享指针,而本身不拥有该对象(它是一个对象的一部分)参考资源管理器)。
我怎样才能得到 a
weak_ptr<void>到 ashared_ptr<Type>?
std::shared_ptr<Type>可以隐式转换为std::weak_ptr<void>.
我如何锁定 a
weak_ptr<void>并最终生成 ashared_ptr<Type>?
调用lock()获取std::shared_ptr<void>,然后使用std::static_pointer_cast。
Type有一个不平凡的析构函数,假设weak_ptr<...>永远不会调用这个析构函数是否正确
是的。每当最后一个shared_ptr被销毁时,该对象就被销毁。如果你想让对象保持活动状态,你应该存储shared_ptr<void>而不是weak_ptr<void>。如果您不想让对象保持活动状态,而只是希望weak_ptr始终知道引用计数,那么没有问题。