博客
关于我
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/

你可能感兴趣的文章
MTK Android 如何获取系统权限
查看>>
MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
查看>>
MySQL - ERROR 1406
查看>>
mysql - 视图
查看>>
MySQL - 解读MySQL事务与锁机制
查看>>
MTTR、MTBF、MTTF的大白话理解
查看>>
mt_rand
查看>>
mysql -存储过程
查看>>
mysql /*! 50100 ... */ 条件编译
查看>>
mudbox卸载/完美解决安装失败/如何彻底卸载清除干净mudbox各种残留注册表和文件的方法...
查看>>
mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
查看>>
mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
查看>>
mysql 5.6 修改端口_mysql5.6.24怎么修改端口号
查看>>
MySQL 8.0 恢复孤立文件每表ibd文件
查看>>
MySQL 8.0开始Group by不再排序
查看>>
mysql ansi nulls_SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思
查看>>
multi swiper bug solution
查看>>
MySQL Binlog 日志监听与 Spring 集成实战
查看>>
MySQL binlog三种模式
查看>>
multi-angle cosine and sines
查看>>