public member type
<unordered_map>

std::unordered_multimap::hash_function

hasher hash_function() const;
获取哈希函数
返回用于 unordered_multimap 容器的哈希函数对象。

哈希函数是一个一元函数,它接受一个类型为key_type的参数,并基于它返回一个类型为 size_t 的唯一值。它在构造时被容器采用(有关更多信息,请参阅 unordered_multimap 的构造函数)。默认情况下,它是对应键类型的默认哈希函数:hash<key_type>

参数



返回值

哈希函数。

成员类型hasher是容器使用的哈希函数的类型,在 unordered_multimap 中定义为其第三个模板参数(Hash).

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// unordered_multimap::hash_function
#include <iostream>
#include <string>
#include <unordered_map>

typedef std::unordered_multimap<std::string,std::string> stringmap;

int main ()
{
  stringmap myumm;

  stringmap::hasher fn = myumm.hash_function();

  std::cout << "this: " << fn ("this") << std::endl;
  std::cout << "thin: " << fn ("thin") << std::endl;

  return 0;
}

可能的输出
this: 671344778
thin: 3223852919


请注意,两个相似的字符串如何产生截然不同的哈希值。

复杂度

常量。

迭代器有效性

没有变化。

另见