STL中各类容器的API map

北城余情 提交于 2020-02-28 21:57:53
所有关联容器头提供一个insert,用以插入元素(键值对)
支持双向迭代器。 




Map API
map 的底层元素时指:(key,映射值)组成的pair对 映射值可以是任意的合法类型 
其类型在map<key_type,X>::value_type 中定义 
若typedef typename map<key_type,T>::value_type VALUE_TYPE;


构造函数:
std::map<key_type,T>() 默认构造 




增加元素:
.insert(VALUE_TYPE(key,映射值))
.insert(std::pair<key_type,T>(key,映射值))
.insert(std::make_pair<key_type,T>(key,映射值)) 


删除元素 
.erase(指定迭代子位置的键值对) 








 
查找元素:
.find(key)
按关键字查找,找到返回key所在位置‘元素’(键值对)的迭代子。否则返回.end()


是否支持随机存取?
是 
T& operator[](const KeyType&index)
const T& operator[](const KeyType&index)const;


对于map,operator[]的过程如下:
当index对应的键不存在时,则生产一个元素(键值对)用于存放
元素的值(value==second)。
当key标识的元素存在时,则可以对该元素进行存取。


 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!