本文共 1354 字,大约阅读时间需要 4 分钟。
map映照容器的元素数据是由一个键值和一个映照数据组成的,键值与映照数据之间具有一一映照的关系。
map映照容器的数据结构是采用红黑树来实现的,插入元素的键值不允许重复,比较函数只对元素的键值进行比较,元素的各项数据可通过键值检索出来。
键值 | 映照数据 |
---|---|
Name | Number |
Tom | 98 |
Tony | 96 |
Amy | 97 |
使用map容器需要头文件包含语句#include <map>
。
创建map对象,键值与映照数据的类型由自己定义。在没有指定比较函数时,元素的插入位置是按键值由小到大插入到红黑树中去的,这点和set一样。
下面这个程序详细说明了如何操作map容器。
#include
运行结果:
Tom : 96 Tony : 98.5 Amy : 97.5程序编译时,会产生代号为“warning C4786”的警告,“4786”是标记符超长警告的代号。可以在程序的头文件包含代码前使用#pragma warning(disable:4786)
宏语句,强制编译器忽略该警告。4786号警告对程序的正确性与运行并无影响。
与set容器一样,map容器的erase()删除元素函数,可以删除某个迭代器位置上的元素、等于某个元素的值、一个迭代器区间上的所有元素。当然也可以使用clear()方法清空map映照容器。
下面这个程序演示了删除map容器中键值为28的元素:#pragma warning (disable:4786)#include
运行结果:
10 : x 25 : m 30 : a转载地址:http://xkzfi.baihongyu.com/