博客
关于我
c++标准库中的关联容器
阅读量:271 次
发布时间:2019-03-01

本文共 1085 字,大约阅读时间需要 3 分钟。

关键字有序的:

1、map 保存key:value,key不可重复

2、set 保存key,key不可重复

3、multimap 保存key可重复出现的key:value

4、multiset 保存key可重复出现的key

关键字无序的:

1、unordered_map

2、unordered_set 

3、unordered_multimap

4、unordered_multiset

和上面的四个对应类似,就是key是无序储存的。

map的默认分配器是std::allocator<std::pair<const K,V>>。K是key类型,V是value类型

set的默认分配器是std::allocator<K>。

操作:

1、添加元素

insert向map中添加元素必须是std::pair

std::map
map2; map2.insert(std::make_pair(2,"xxx"));

或者这样写,隐式构造:

map2.insert({4,"xxxx"});

2、遍历元素

std::map
map2; map2.insert(std::make_pair(2,6.66)); map2.insert({4,8.88}); for(auto it = map2.begin();it != map2.end();++it) { qDebug()<
first<
second; }

3、删除元素,和顺序容器一样,用erase()元素,map的一个车载版本是erase(key):

std::map
map2; map2.insert(std::make_pair("www",6.66)); map2.insert({"qqqqq",8.88}); for(auto it = map2.begin();it != map2.end();++it) { qDebug()<
first<
second; } map2.erase("www"); for(auto it = map2.begin();it != map2.end();++it) { qDebug()<
first<
second; }

 

转载地址:http://tavx.baihongyu.com/

你可能感兴趣的文章
mysql添加外网访问权限
查看>>
mysql添加用户
查看>>
MySQL添加用户、删除用户与授权
查看>>
mysql添加用户及权限
查看>>
Mysql添加用户并授予只能查询权限
查看>>
mysql添加用户权限报1064 - You have an error in your SQL syntax问题解决
查看>>
mysql添加索引
查看>>
mysql添加表注释、字段注释、查看与修改注释
查看>>
mysql清理undo线程_MySQL后台线程的清理工作
查看>>
mysql清空带外键的表
查看>>
MySQL清空表数据
查看>>
mysql源码安装
查看>>
Mysql源码安装过程中可能碰到的问题
查看>>
MySQL灵魂16问,你能撑到第几问?
查看>>
MySQL灵魂拷问:36题带你面试通关
查看>>
mysql状态分析之show global status
查看>>
mysql状态查看 QPS/TPS/缓存命中率查看
查看>>
mysql生成树形数据_mysql 实现树形的遍历
查看>>
mysql用于检索的关键字_Mysql全文搜索match...against的用法
查看>>
MySQL用得好好的,为什么要转ES?
查看>>