2017-01-01 179 views
1

有沒有辦法將元素移出std :: multiset?從std :: multiset移動元素

由於C++ 11 std :: multiset :: iterator被定義爲一個const bidirectional_iterator。我明白推理是爲了保持元素排序,但似乎沒有辦法刪除並修改僅移動對象。

+1

像[提取](http://en.cppreference.com/w/cpp/container/multiset/extract),但爲c + + 11? –

+0

啊,是的,它太C++ 17了。 –

+0

可能是在c + + 11的監督,不知道你有任何替代= \ –

回答

0

我不認爲你可以用std :: multiset來做到這點,儘管它應該可以用Boost的multi_index_container來實現。它有一個使用迭代器和更新函數的modify()方法。在那個仿函數中,你應該能夠移動這個值。

有關詳細信息,請參閱Boost multi_index documentation