简介
该头文件包含两个概念相似的容器----map、multimap。 而这两个容器反映的概念就是 映射。
这两个容器 相同 的属性有:
关联性
映射
动态增长
键(Key)唯一性
这两个不相同的属性是:
映射关系
容器类别
既然说到关联性容器,自然得说说标准库的容器类别。 C++库容器主要能分成以下几类:
序列性容器: 将存储对象组织成线性模型,使用户能够像线性数组那样存取。
关联性容器: 将存储内容以键(Key)相关联 ,通过键来存取内容。
乱序容器: 存储对象以乱序存储,不具有顺序。
容器适配器: 通过适配的方式实现,内部使用的是其它已有的容器。
map
map为单映射容器,所谓单映射,就是一对一映射的意思。 每种信息都以 键 -> 值 的形式被存储,由键 映射到 值,这是该类容器与vector等容器最大的不同。
实现
典型的map是以Binary Search Tree实现的,但也有可能使用其他合适的数据结构。 例如sgi stl使用的就是红黑树。
operator [ ]
除了迭代器,存取map元素时使用的较多的就是这个运算符了。 但实际上这个函数的语义不