我有一个具有共享指针映射的对象。
class A
{
map<string, shared_ptr<B>> child;
}
A的析构函数是否会销毁 map 中的指针?是否需要手动重置 map 的值?
我看到一个_
Resetp<> and _Ref_coun
t可以保留2个对象,我很好奇问题是否出在我没有清理节点。 最佳答案
假设您使用的是boost::shared_ptr
,std::shared_ptr
或其他类似的东西,那么当A
被销毁时,shared_ptrs的引用计数都将减一,这可能会导致其自身的销毁。