名前空間
変種
操作

名前付き要件:Hash

提供: cppreference.com
< cpp‎ | named req
 
 
 

Hash は、出力が入力のみに依存し、異なる入力値が与えられたとき同じ出力を生成する確率が非常に低い、関数オブジェクトです。

[編集]要件

以下の内容を満たす場合、型 THash を満たします。

さらに、

  • 引数型が Key である T または const T 型の値 h
  • Key または const Key に変換可能な値 k
  • Key 型の左辺値u

が与えられたとき、以下の式が有効でなければならず、指定された効果を持たなければなりません。

戻り値の型要件
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_tu は変更されない。

[編集]標準ライブラリ

std::hash
close