9

只要集合或映射未更改,迭代器是否会迭代boost::unordered_set或以相同的顺序迭代?boost::unordered_map

4

2 回答 2

5

哈希映射的一些实现会将哈希到同一个 bin 的项目重新排序,将最近访问的项目放在列表的前面,作为优化。这将改变顺序。我不知道这样boost::unordered_map做,但是将来您可能最终std::unordered_map会替换它,这完全取决于您的编译器的实现。

于 2012-10-04T14:59:45.177 回答
1

它应该是确定性的,但只要它们是所​​谓的unordered,您就不应依赖它来迭代您的元素。

于 2012-10-04T14:41:14.927 回答