STLRecipe---unordered_map

unordered_map 包含的是有唯一键的键/值对元素。容器中的元素不是有序的。元素的位置由键的哈希值确定,因而必须有一个适用于键类型的哈希函数。

image.png
  • unordered_map初始化详解
1.
std::unordered_map people {{"Jan",44}, {"Jim", 33}, {"Joe", 99}}; // Name,age

2.当我们知道要在容器中保存多少个元素时,可以在构造函数中指定应该分配的格子的个数:
std::unordered_map people {{ { "Jan", 44}, {"Jim", 33}, {"Joe", 99}}, 10};

  • unordered_map插入元素
std:: unordered_map people { {"Jim", 33}, { "Joe", 99}};// Name,age
std::cout <<"people container has " << people.bucket_count()<<" buckets.\n"; // 8 buckets
auto pr = people.insert (std::pair {"Jan", 44});// Move insert

这个插入操作不会成功,因为容器中已经有键值为 string("Jim") 的元素
std:: cout << "Element " << (pr.second ? "was" : "was not") << " inserted." << std::endl;

你可能感兴趣的:(STLRecipe---unordered_map)