std::map
映射是关联容器,它按照特定顺序存储由键值和映射值的组合形成的元素。
map 底层使用红黑树实现。
容器属性:
键引用 | 有序 | Map | 唯一键 | Allocator-aware
关联容器中的元素由其键引用,而不是由它们在容器中的绝对位置引用。
容器中的元素始终遵循严格的顺序。所有插入的元素按此顺序给出一个位置。
每个元素将键与映射值相关联:键用于标识主要内容为映射值的元素。
容器中没有两个元素可以具有等效键。
容器通过 allocator 对象动态处理存储需求。
迭代器相关函数:
(public member function )
将迭代器返回到开头(增长方向:begin -> end)
将迭代器返回到结尾
返回反向迭代器以反向开始(增长方向:rbegin -> rend)
将反向迭代器返回到反向结束
cbegin (C++11)
将const_iterator返回到开头(与begin类似,区别在于begin指向的值可以改变,cbegin指向的值不可改变)
cend (C++11)
将const_iterator返回到开头末尾
crbegin (C++11)
返回const_reverse_iterator以反向开始
crend (C++11)
将const_reverse_iterator返回到反向结束
容量相关函数:
(public member function )
判断容器是否为空
返回目前元素的数量
返回可以拓展的最大容量
元素访问:
(public member function )
直接访问指定位置的元素
at (C++11)
直接访问指定位置的元素,指定位置超出有效范围会报出异常
修改元素操作:
(public member function )
迭代器位置插入元素,或者插入新的序列
擦除迭代器位置的元素,或者擦除序列
交换两个容器的内容
清空容器的内容
emplace (C++11)
在迭代器位置插入元素
emplace_hint (C++11)
在迭代器位置插入元素
观测比较函数:
(public member function )
返回比较对象
返回比较对象
其他操作函数:
(public member function )
返回元素的迭代器
计算具有特定值的元素
将迭代器返回到下限
将迭代器返回到上限
获得相等元素的范围