c++ 11 map 和 unordered_map

1,底层数据结构:map采用红黑树,unordered_map采用哈希算法

2,使用场景:map适用于数据需要自动排序,unordered_map适用于数据需要随机访问

3,当存储的元素类型是自定义类型时,map需要重载 < (小于号)操作符,unordered_map需要重载

== (等号)操作符,并且计算hash_value()

4,hash_value计算方法

size_t hash_value(const person& p)  
{  
    size_t seed = 0;  
    std::hash_combine(seed, std::hash_value(p.name));  
    std::hash_combine(seed, std::hash_value(p.age));  
    return seed;  
}  

猜你喜欢

转载自blog.csdn.net/jigetage/article/details/80466504