• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C++Primer笔记之关联容器的使用详解

C++Primer笔记之关联容器的使用详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c++primer第五版,c++primer第六版,c++primer第四版答案,c++primer第五版答案,c++primer plus第六版等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

关联容器

   关联容器支持通过键来高效地查找和读取元素。两个基本的关联容器类型是map和set。map的元素以键-值对的形式组织:键用作元素在map的索引,而值则表示所存储和读取的数据。set仅包含一个键,并有效地支持关于某个键是否存在的查询。set和map类型的对象不允许为同一个键添加第二个元素。如果一个键必须对应多个实例,则需使用multimap或mutiset类型,这两种类型允许多个元素拥有相同的键。

pair类型:在头文件utility中定义。

pair的创建和使用:

map<K,V>::key_type 在map中用做索引的键的类型

map<K,V>::mapped_type 在map中用作关联的值的类型

map<K,V>::value_type 一个pair类型

map迭代器进行解引用将产生pair类型的对象:

添加键-值对,有两种实现方法。可以用insert成员实现,或者,先用下标操作符获取元素,然后给获取的元素赋值。

使用下标访问map与使用下标访问数组或vector的行为截然不同;用下标访问不存在的元素将导致在map容器中添加一个新的元素,它的键即为该下标的值。

方法一:

 用下标操作符,是一种比较简单的方法,但是该方法有副作用,就是当该键不在map容器中,那么下标操作会插入一个具有该键的新元素。

map容器提供了两种操作:count和find

m.count(k) 返回m中k的出现次数,对于map对象只能是1或0,而对于mutimap容器,则可能会出现更多的值。

m.find(k) 返回按k索引返回的迭代器

count方法用于在map中查找指定键是否存在的问题,而find方法适合用于解决在map容器中查找指定键对应的元素的问题。

m.erase(k) 删除m中键为k的元素。返回值为被删除元素的个数,对于map容器而言,其值必然是0或1。

m.erase(p) 从m中删除迭代器p所指向的元素。返回值为void类型。

m.erase(b,e) 从m中删除一段由一对迭代器范围的元素。返回值为void类型。

map对象的迭代遍历:

map容器是键-值对的集合,而set容器只是单纯的键的集合。当只想知道一个值是否存在时,使用set容器是最合适的。

在set中添加元素:

multimap和multiset类型:

  map和set容器中,一个键只能对应一个实例。而multimap和multiset类型则允许一个键对应多个实例。其支持的操作分别于map和set的操作相同,只有一个例外:multiply不支持下标运算。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C++ primer基础之容器insert
  • C++ Primer 第一部分基本语言
  • C++Primer笔记之顺序容器的使用详解
  • C++Primer笔记之关联容器的使用详解

相关文章

  • 2017-05-28C++在成员函数中使用STL的find_if函数实例
  • 2017-05-28C语言 数据结构之中序二叉树实例详解
  • 2017-05-28C++取得本机IP的方法
  • 2017-05-28C与C++中结构体的区别
  • 2017-05-28C++动态分配和撤销内存以及结构体类型作为函数参数
  • 2017-08-17c计算闰年
  • 2017-05-28深入遍历二叉树的各种操作详解(非递归遍历)
  • 2017-05-28关于"引用"的几点说明介绍
  • 2017-05-28C++函数中return语句的使用方法
  • 2017-05-28简要对比C语言中三个用于退出进程的函数

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C语言运算符优先级列表(超详细)
    • C++入门之基础语法学习教程
    • C语言中getch()函数详解及简单实例
    • C/C++ ip地址与int类型的转换实例详解
    • C标准库<assert.h>的实现详解
    • c++实现简单的线程池
    • VC6.0实现读取Excel数据的方法
    • C++实现简单的扫雷游戏(控制台版)
    • C++中单链表的建立与基本操作
    • C++回溯法实例分析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有