最佳答案
我发现在 std::set
上的更新操作很乏味,因为在 首选上没有这样的 API。所以我现在做的是这样的:
//find element in set by iterator
Element copy = *iterator;
... // update member value on copy, varies
Set.erase(iterator);
Set.insert(copy);
基本上,Set
的迭代器返回值是 const_iterator
,您不能直接更改它的值。
还有更好的办法吗?或者也许我应该重写 std::set
,创建我自己的(我不知道它到底是如何工作的。.)