是否建议使用shared_ptr作为映射值?

时间:2014-01-21 18:28:34

标签: c++ shared-ptr

我在一个类中有这两个映射:( Map是我构建的类,几乎像std::map但只有一个单向迭代器。)

Map<Id,shared_ptr<Fan>> fans;

Map<int,shared_ptr<FanBookPost>> posts;

我有很多内存泄漏,我理解它因为shared_ptr的使用被破坏了 我可以将其更改为另一种类型的指针,我不必手动释放其位置吗? 我不需要用两个指针指向一个元素。

我项目中的一些代码:

void FanBookServer::connect(shared_ptr<Fan> fan) {
    if(fan==NULL) {
        throw MtmBadParams();
    }
    fan->status=connected;
    fans.insert(fan->id, fan);
}

0 个答案:

没有答案