C++STL学习之路
一、容器(Containers)
(一)map
map 容器是关联容器的一种。它提供了一种更有效的存储和访问数据的方法。map 容器有 4 种,每一种都是由类模板定义的。所有类型的 map 容器保存的都是键值对类型的元素。
(1)map<K,T>容器
- 每个键都是唯一的,所以不允许有重复的键;但可以保存重复的对象,只要它们的键不同。
- map 容器中的元素都是有序的,元素在容器内的顺序是通过比较键确定的。
(2)multimap<K,T> 容器
- multimap<K,T> 允许使用重复的键。
- 会对元素排序。它的键必须是可比较的,元素的顺序是通过比较键确定的。
(3)unordered_map<K,T>
- unordered_map<K,T> 中 pair< const K,T>元素的顺序并不是直接由键值确定的,而是由键值的哈希值决定的。哈希值是由一个叫作哈希的过程生成的整数。
- unordered_map<K,T>不允许有重复的键。
(4)unordered_multimap<K,T> - 它可以通过键值生成的哈希值来确定对象的位置。
- 它允许有重复的键。