我知道C++ STL中的unordered_map是由哈希表实现的,包含对应于哈希值的桶(bucket)。插入、删除和元素查找的时间保证为平均常数时间(amortized constant)。然而,我不太理解迭代器在这个数据结构上的工作原理。当我递增迭代器时,它如何知道下一个位置在哪里?使用迭代器遍历unordered_map的时间复杂度是多少?在查找下一个迭代器位置时所需的时间是恒定的吗?我在书The C++ Standard Library: A tutorial and Reference中找到了有关unordered_map内部结构的一些信息,但我没有找到我的问题的答案。希望有人可以帮助!
谢谢。