名稱空間
變體
操作

C++ 命名要求: 雜湊 (Hash) (自 C++11 起)

來自 cppreference.com
 
 
C++ 命名要求
基本
型別屬性
全庫範圍
Hash(雜湊)
(C++11)




Container(容器)
容器元素
迭代器 (Iterator)
流 I/O
格式化器
隨機數
併發
範圍 (Ranges)
多維檢視
其他

 

一個 雜湊 (Hash) 是一個函式物件,其輸出僅取決於輸入,並且對於不同的輸入值產生相同輸出的機率非常低。

[編輯] 要求

型別 T 滿足 雜湊 (Hash),如果

給定

  • h,型別為 Tconst T 的值,其引數型別為 Key
  • k,型別可轉換為 Keyconst Key 的值,
  • u,型別為 Key左值表示式。

以下表達式必須有效並具有其指定的效果。

表示式 返回型別 要求
h(k) std::size_t 返回的值在程式執行期間僅取決於 k 的值。

在給定程式執行中,所有執行的 h(k) 求值對於相同的值 k 產生相同的結果。

對於 a != bh(a) == h(b) 的機率應接近 1.0 / std::numeric_limits<std::size_t>::max()

h(u) std::size_t u 未被修改。

[編輯] 標準庫

(C++11)
雜湊函式物件
(類模板) [編輯]

[編輯] 缺陷報告

下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。

缺陷報告 應用於 釋出時的行為 正確的行為
LWG 2291 C++11 在所有情況下都要求相同的引數產生相同的結果 僅在單次執行中要求