名前空間
変種
操作

std::hash (std::bitset)

提供: cppreference.com
< cpp‎ | utility‎ | bitset
 
 
ユーティリティライブラリ
汎用ユーティリティ
日付と時間
関数オブジェクト
書式化ライブラリ (C++20)
(C++11)
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)
スワップと型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
一般的な語彙の型
(C++11)
(C++17)
(C++17)
(C++17)
(C++17)

初等文字列変換
(C++17)
(C++17)
 
 
template<size_t N> struct hash<bitset<N>>;
(C++11以上)

std::hashstd::bitset<N> に対するテンプレート特殊化は、ユーザが std::bitset<N> 型のオブジェクトのハッシュを取得することを可能とします。

[編集]

以下のコードはいくつかのビットセットに対して使用したハッシュ関数のひとつの出力例を示します。

#include <iostream>
#include <bitset>
#include <functional>
 
int main()
{
    std::bitset<4> b1(1);
    std::bitset<4> b2(2);
    std::bitset<4> b3(b2);
 
    std::hash<std::bitset<4>> hash_fn;
 
    size_t h1 = hash_fn(b1);
    size_t h2 = hash_fn(b2);
    size_t h3 = hash_fn(b3);
 
    std::cout << h1 << '\n';
    std::cout << h2 << '\n';
    std::cout << h3 << '\n';
}

出力:

67918732
118251589
118251589

[編集] 関連項目

(C++11)
ハッシュ関数オブジェクト
(クラステンプレート) [edit]