从std :: multiset移动元素

时间:2017-01-01 23:50:50

标签: c++11 const move multiset

无论如何将元素移出std :: multiset?

由于C ++ 11 std :: multiset :: iterator被定义为const bidirectional_iterator。我理解推理是为了保持元素排序,但似乎没有办法删除然后修改仅移动对象。

1 个答案:

答案 0 :(得分:0)

我认为你不能用std :: multiset做到这一点,尽管它应该可以与Boost的multi_index_container一起使用。它有一个modify()方法,它接受迭代器和更新器仿函数。在该仿函数中,您应该能够将值移开。

有关详情,请参阅Boost multi_index documentation