名前空間
変種
操作

名前付き要件: Hash

提供: cppreference.com
< cpp‎ | named req
 
 
名前付き要件
基本
レイアウト
ライブラリ全体
コンテナ
コンテナの要素
イテレータ
ストリーム入出力
乱数
並行処理
(C++11)

(C++11)
(C++11)
その他
 

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_t u は変更されない。

[編集] 標準ライブラリ

std::hash