hash/unordered_map
程序员文章站
2022-05-12 23:39:59
...
1.hash
functional 头文件中定义了 hash 模板,可以从 K 类型的对象生成哈希值的函数对象的类型。接受 K 类型的单个参数,然后返回 size_t 类型的哈希值,对于相等的键必须产生相等的哈希值,对于不相等的键产生碰撞的可能性必须最小接近 size_t 最大值的倒数
std::hash<int> hash_int;// Function object to hash int
std::vector<int> {-5, -2, 2, 5, 10};
std::transform(std::begin(n), std::end(n),std::ostream_iterator<size_t> (std:: cout," "),hash_int);
std::hash<Box*> hash_box; // Box class as in Chapter 2
auto upbox = std::make_unique<Box>(1A 2, 3);
hash_box(upbox.get()) // Hash value = 1143026886