【发布时间】:2016-04-22 22:39:38
【问题描述】:
我想知道是否有任何方法可以让我根据其原始指针从unordered_set 中检索一个元素,该shared_ptr 键控。
unordered_set< shared_ptr<MyObj> > sets;
auto myobj = make_shared<MyObj>();
sets.insert(myobj);
// Find the element myobj
sets.find(myobj);
// How to find the element based on the underlying raw pointer?
sets.find(my.obj.get()); <---- apparently this gives compile error
// This method works but it will double free myobj though (not correct)
sets.find(shared_ptr<MyObj>(my.obj.get()));
【问题讨论】:
标签: c++ c++14 shared-ptr unordered-set