sun*_*mat 4 boost boost-multi-index
我有一个boost多索引结构,它将boost :: shared_ptr保存到类A的实例中.当我使用其中一个索引的"find"函数时,我得到一个迭代器"it",我可以从中获取实际值指针通过A* a = it->get();.如何a从多索引中删除知道erase多索引结构的函数采用迭代器,而不是指针或boost :: shared_ptr?事情是我想要擦除对象的程序,我不再有我的初始迭代器,只有实际的指针.
谢谢
没有这样的" erase多指标结构的功能".请注意,它erase是索引的成员函数,其签名可能因索引类型而异.
尤其是,命令和散列索引有以下重载的erase:
iterator erase(iterator position);
size_type erase(const key_type& x);
iterator erase(iterator first,iterator last);
Run Code Online (Sandbox Code Playgroud)
即如果shared_ptr是一把钥匙,你肯定可以将它传递给它erase.当然,您可以find先调用,获取迭代器并将其传递给erase.
| 归档时间: |
|
| 查看次数: |
3459 次 |
| 最近记录: |