当前位置:   article > 正文

c++ unordered_map使用_unorderedmap使用

unorderedmap使用

1.声明及初始化

  1. int main() {
  2. unordered_map<char, int> map1;//声明一个名为map1的字典,键为char类型,值为int类型
  3. unordered_map<char, int> map2 = { {'a',1},{'b',2} };//声明一个名为map2的字典,键为char类型,值为int类型,并初始化两对键值对
  4. }

直接初始化和二维数组初始化一样,使用大括号{},内层键值对也使用大括号{},使用逗号隔开

2.常用API

  1. int main() {
  2. unordered_map<char, int> map = { {'a',1},{'b',2} };//声明一个名为map的字典,键为char类型,值为int类型,并初始化两对键值对
  3. //常用API
  4. map['c'] = 3;//1.增加键值对,{ {'a',1},{'b',2},{'c',3}}
  5. map.erase('a');//2.删除键为‘a’的键值对,{ {'b',2},{'c',3}}
  6. map['c'] = 4;//3.修改键为‘c’的键所对应值为4,{ {'b',2},{'c',4}}
  7. map.count('c');//4.查找键为‘c’的键值对个数,此处为1
  8. map.size();//5.获得键值对数量,此处为2
  9. }

 

3.遍历元素

通过引用修改键值对,first获得键,second获得值。

  1. int main() {
  2. //创建unordered_map并进行初始化
  3. unordered_map<string, int> map = {
  4. {"apple", 1},
  5. {"banana", 2},
  6. {"cherry", 3}
  7. };
  8. // 遍历unordered_map并修改其值
  9. for (auto& kv : map) { // kv是一个键值对引用
  10. // 修改值,这里简单地将每个值加10
  11. kv.second += 10;
  12. // 打印修改后的键值对
  13. cout << kv.first << ": " << kv.second << endl;
  14. }
  15. // 打印修改后的unordered_map中的所有元素,确认修改生效
  16. cout << "Modified map:" << endl;
  17. for (const auto& kv : map) { // 使用const auto&避免不必要的拷贝
  18. cout << kv.first << ": " << kv.second << endl;
  19. }
  20. }

输出

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/452330?site
推荐阅读
相关标签
  

闽ICP备14008679号