我有一个具有共享指针映射的对象。

class A
{
   map<string, shared_ptr<B>> child;
}

A的析构函数是否会销毁 map 中的指针?是否需要手动重置 map 的值?

我看到一个_ Resetp<> and _Ref_coun t可以保留2个对象,我很好奇问题是否出在我没有清理节点。

最佳答案

假设您使用的是boost::shared_ptrstd::shared_ptr或其他类似的东西,那么当A被销毁时,shared_ptrs的引用计数都将减一,这可能会导致其自身的销毁。

08-17 00:00
查看更多