博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++中的map
阅读量:4294 次
发布时间:2019-05-27

本文共 1095 字,大约阅读时间需要 3 分钟。

在javascript和python等脚本语言中都内置了通过字符串索引数组的方法,看起来很好用,C++中也有类似的功能,叫做map映射容器。

使用map容器之前,需要使用宏语句#include<map>。

示例:

#include
#include
using namespace std;int main(){ map

元素的遍历:

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之前插入(#-_-#......书上这样写,不是很明白);

(3)iterator insert(InputIterator first,InputIterator last)
我想我大概不会用到这个吧。。。

元素的删除:

删除所有元素: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容器的元素个数

你可能感兴趣的文章
关于PCB设计中过孔能否打在焊盘上的两种观点
查看>>
PCB反推理念
查看>>
京东技术架构(一)构建亿级前端读服务
查看>>
git 提示:error: unable to rewind rpc post data - try increasing http.postBuffer
查看>>
php 解决json_encode中文UNICODE转码问题
查看>>
LNMP 安装 thinkcmf提示404not found
查看>>
PHP empty、isset、innull的区别
查看>>
apache+nginx 实现动静分离
查看>>
通过Navicat远程连接MySQL配置
查看>>
phpstorm开发工具的设置用法
查看>>
Linux 系统挂载数据盘
查看>>
Git基础(三)--常见错误及解决方案
查看>>
Git(四) - 分支管理
查看>>
PHP Curl发送数据
查看>>
HTTP协议
查看>>
HTTPS
查看>>
git add . git add -u git add -A区别
查看>>
apache下虚拟域名配置
查看>>
session和cookie区别与联系
查看>>
PHP 实现笛卡尔积
查看>>