C++ 具名要求: Hash

来自cppreference.com
< cpp‎ | named req
 
 
 

哈希 (Hash) 是函数对象,其输出仅依赖于输入,且对于给定的不同输入值,有非常低的概率生成相同输出。

[编辑] 要求

类型 T 满足哈希 (Hash) ,若

给定

  • hTconst T 类型的值,其参数类型是 Key
  • k ,可转换为 Keyconst Key 的值
  • uKey 类型的左值表达式

下列表达是必须合法且拥有其指定的效果

表达式 返回类型 要求
h(k) std::size_t 返回值在程序执行期间 (C++14 起)仅依赖于 k 的值。所有在程序执行内执行的 (C++14 起) h(k) 的求值对 k 的相同值生成相同结果。

a!=b 的情况下 h(a)==h(b) 的概率应接近 1.0/std::numeric_limits<std::size_t>::max()

h(u) std::size_t 不修改 u

[编辑] 标准库

(C++11)
哈希函数对象
(类模板) [编辑]