关联容器-嵌入式系统/arm技术中的嵌入式软件自动化测试平台构架设计

第十章关联容器本章将继续介绍标准库容器类型的另一项内容——关联容器。关联容器和顺序容器的本质差别在于:关联容器通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。虽然关联容器的大部分行为与顺序容器相同,但其独特之处在于支持键的使用。本章涵盖了关联容器的相关内容,并完善和扩展了一个使用顺序容器和关联容器的例子。关联容器(Associative containers)支持通过键来高效地查找和读取元素。两个基本的关联容器类型是map set。map的元素以键-值(key-value)对的形式组织:键用作元素在map中的索引,而值则表示所存储和读取的数据。set仅包含一个键,并有效地支持关于某个键是否存在的查询。一般来说,如果希望有效地存储不同值的集合,那么使用set容器比较合适,而map容器则更适用于需要存储(乃至修改)每个键所关联的值的情况。在做某种文本处理时,可使用set保存要忽略的单词。而字典则是map的一种很好的应用:单词本身是键,而它的解释说明则是值。 set和map类型的对象所包含的元素都具有不同的键,不允许为同一个键添加第二个元素。如果一个键必须对应多个实例,则需使用multimap或multi set,这两种类型允许多个元素拥有相同的键。关联容器支持很多顺序容器也提供的相同操作,此外,还提供管理或使用键的特殊操作。下面的小节将详细讨论关联容器类型及其操作,后以一个用容器实现的小型文本查询程序结束本章。表10.1.关联容器类型map关联数组:元素通过键来存储和读取set大小可变的集合,支持通过键实现的快速读取multimap支持同一个键多次出现的map类型multiset支持同一个键多次出现的set类型10.1.引言:pair类型在开始介绍关联容器之前,必须先了解一种与之相关的简单的标准库类型——pair(表10.2),该类型在utility头文件中定义。表10.2 pairs类型提供的操作
pdf 文件大小:3.48MB