C++ 概念: Hash
来自cppreference.com
哈希 (Hash
) 是函数对象,其输出仅依赖于输入,且对于给定的不同输入值,有非常低的概率生成相同输出。
[编辑] 要求
类型 T
满足哈希 (Hash
) ,若
给定
-
h
,T
或const T
类型的值,其参数类型是Key
-
k
,可转换为Key
或const Key
的值 -
u
,Key
类型的左值表达式
下列表达是必须合法且拥有其指定的效应
表达式 | 返回类型 | 要求 |
---|---|---|
h(k) | std::size_t
|
返回值仅依赖于 k 的值,在程序执行期间 (C++14 起)。所有在程序执行内执行的 (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) |
哈希函数对象 (类模板) |