我有一个带有自定义谓词函数的多重集,例如 multiset<MyClass *,MyCompFunc>
其中 MyCompFunc 查看 MyClass 对象的属性。在应用程序的运行过程中,对象可能会以某种方式发生变化,从而导致它们被重新排序。
发生这种情况时,让多重集重新排序的正确方法是什么?手动排序,还是移除修改后的对象,更新,重新插入?
最佳答案
通常是删除、更新和重新插入。实际上,任何其他至少暂时违反集合/多重集的主要不变量,这显然不是一件好事。
关于c++ - 确保在对象更改时重新排序 multiset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3638406/