为什么C ++ std :: unordered_map从emplace / find返回迭代器?

时间:2020-07-04 04:36:41

标签: c++

我了解为什么unordered_map具有迭代器(begin()和end()),但是我看不到从find / emplace返回迭代器的值是什么。

我无法想象一个用例,您想要在给定键而不是开始/结尾处启动迭代器(因为良好的哈希函数应使键在表中的位置是任意的)。

替代方案;仅返回值,引用值或键和值对涵盖了所有用例,我可以想象避免了不必要的创建迭代器的工作,并且在使用它访问基础对/值时可能会导致额外的内存依赖

1 个答案:

答案 0 :(得分:2)

如果要删除该项目怎么办?如果要提取或合并该怎么办?如果您想将其用作放置的提示怎么办?

相关问题