本文共 1095 字,大约阅读时间需要 3 分钟。
在javascript和python等脚本语言中都内置了通过字符串索引数组的方法,看起来很好用,C++中也有类似的功能,叫做map映射容器。
使用map容器之前,需要使用宏语句#include<map>。
示例:
#include#include
元素的遍历:
map容器的元素是通过转换为pair对象插入到容器中的,所以需要通过pair对象的first和second变量指示出来
如:map<const char*,float>::iterator i;
i=fruit.begin();
那么(*i).first对应"apple",(*i).second对应3.6
元素的插入:
一般就像示例代码里用[]插入就好了
也可通过pair对象插入
(1)pair<iterator,bool> insert(const value_type& v)
pair<const char*,float> ele("banana",1.8);
fruit.insert(ele);
(2)iterator insert(iterator position,const value_type&v)
将元素v插入map容器,参数position只是提示可在position位置之前插入v,但是不一定能在position之前插入(#-_-#......书上这样写,不是很明白);
元素的删除:
删除所有元素:void clear()
删除单个元素:使用迭代器位置void erase(iterator position),使用键值void erase(const key_type& k),例如fruit.erase("apple")
删除一个元素区间:void erase(iterator first,iterator last)
元素的搜索:
iterator find(const key_type& k) const(这个const表示方法是“只读”的,不改变对象的数据成员)
比如fruit.find("apple")就找出apple对应的值啦,没找到会返回一个end结束位置,就是fruit.end()啦。
其他常用函数:
bool empty() const 判断容器是否为空
size_type size() const容器的元素个数