为什么允许std :: unordered_map :: rehash使迭代器无效?

问题描述

Visual Studio(2015)的实现不会使任何迭代器无效({rehash()对内部std::list进行重新排序,使所有迭代器保持有效)。

是否存在其他使迭代器无效的实现(即使具有相同的复杂性也可以获得更好的性能)?

std::unordered_map::rehash()上使迭代器无效有时会限制开发人员(例如,我试图仅使用std::unordered_map实现LRU缓存:节点的值具有容器的迭代器)。但是使迭代器无效的可能性是否可以更好地实现std::unordered_map::rehash()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)