栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++标准库关联容器之map,set基础用法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++标准库关联容器之map,set基础用法

之前的文章介绍了顺序容器的一些用法:

c++顺序容器用法

这里主要记录下两个关联容器map和set的用法,同样会多引用C++ Primer中的原文

简介:

这里只介绍前两个(map,set)的一些基础用法,后面几个可以根据业务情况自己学习用法。

特点:

map是键值对,set只有键

关键词唯一 

关键词有序或者不保证有序

Map: 声明-定义-初始化:
map;//空

mapmap_example={{1,"asd"},{0,"ddd"}};//列表初始化
插入/修改:
    QMap map =
    { 
      {1, "232"},
      {0, "aaa"}, {2, "aa1a"} 
    };
    
    //会找到有没有存在的key数值,存在就修改,不存在插入新的
    map[3]="2233";
    map.insert(3, "2233");

查询
    for (auto iter = map.begin(); iter != map.end(); iter++) {
      qDebug() << iter.key() << iter.value();
    }

删除
    QMap map =
    { 
      {1, "232"},
      {0, "aaa"}, {2, "aa1a"} 
    };
    
 删除键值为2的数值
 for (auto iter = map.begin(); iter != map.end();) {
       if (iter.key() == 2) {
         iter = map.erase(iter);
       } else {
         iter++;
       }
     }
Set 声明-定义-初始化:
    QSet test_set =
    { "ad",
      "123",
      "sdsads" };
插入:
    //插入
    test_set.insert("ad");
    test_set.insert("aaa");
查询:
    for (auto iter = test_set.begin(); iter != test_set.end(); iter++) {
      qDebug() << *iter;
    }
删除:
   for (auto iter = test_set.begin(); iter != test_set.end();) {
      if (*iter == "aaa") {
       iter = test_set.erase(iter);
     } else {
     iter++;
     }
   }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1009616.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号