我发现std::set
乏味的更新操作是因为cppreference上没有这样的API 。所以我目前正在做的事情是这样的:
//find element in set by iterator
Element copy = *iterator;
... // update member value on copy, varies
Set.erase(iterator);
Set.insert(copy);
基本上,迭代器return bySet
是a const_iterator
,您不能直接更改其值。
有一个更好的方法吗?或者,也许我应该std::set
通过创建自己的方法来覆盖(我不知道它是如何工作的。)