std::hash (std::bitset)

来自cppreference.com
< cpp‎ | utility‎ | bitset
 
 
工具库
类型支持(基本类型、 RTTI 、类型特性)
动态内存管理
错误处理
程序工具
变参数函数
日期和时间
函数对象
(C++11)
关系运算符
optionalanyvariant (C++17)
pair 与 tuple
(C++11)
(C++17)
swap 、 forward 与 move
(C++14)
(C++11)
(C++11)
初等字符串转换
(C++17)
(C++17)
类型运算
(C++11)
(C++17)
 
 
template<size_t N> struct hash<bitset<N>>;
(C++11 起)

std::hashstd::bitset<N> 的模板特化允许用户获得 std::bitset<N> 类型的对象的哈希。

[编辑] 示例

下列代码展示用于数个 bitset 上的哈希函数的一种可能输出:

#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)
哈希函数对象
(类模板) [编辑]