无论如何将元素移出std :: multiset?
由于C ++ 11 std :: multiset :: iterator被定义为const bidirectional_iterator。我理解推理是为了保持元素排序,但似乎没有办法删除然后修改仅移动对象。
答案 0 :(得分:0)
我认为你不能用std :: multiset做到这一点,尽管它应该可以与Boost的multi_index_container一起使用。它有一个modify()方法,它接受迭代器和更新器仿函数。在该仿函数中,您应该能够将值移开。
有关详情,请参阅Boost multi_index documentation。