为什么我需要同时实现==操作符和返回size_t的随机操作符?而且返回size_t的方法应该返回什么? 编辑:当我说随机操作符时,我并不是说它没有用处。我的意思是,在我看来,我不知道它有什么用处,因此有了最后一个问题。
一个哈希容器(哈希表,哈希映射,无序映射)使用哈希函数生成单个整数值来表示条目的索引(或键)。这使得查找非常快速,因为(假设我们有一个很好的哈希值分布)一旦我们有了哈希值,我们只需要查看该索引。大多数其他存储方法意味着比较一堆东西,直到找到正确的元素。关于哈希键其实只有两个规则: 1. 对于给定的输入,每次调用哈希函数都会得到相同的键。 2. 不同的输入得到不同的值 - 它不必是唯一的,但从类似输入中获得更好的扩展性越好。
unordered_map
中获得*O(n)*的操作,那就去做吧! - Praetorian