当前位置: 首页 > news >正文

建设淘宝网站培训机构学校

建设淘宝网站,培训机构学校,北理工网站开发与应用答案,俄罗斯乌克兰最新消息文章目录 一. map的介绍二. map的使用结束语 一. map的介绍 map是关联容器,它按照特定的次序(按照key来比较)存储由键值key和值value组合而成的元素在map中,键值key通常用于排序和唯一地标识元素,而value中存储与此键值…

在这里插入图片描述

文章目录

  • 一. map的介绍
  • 二. map的使用
  • 结束语

一. map的介绍

  1. map是关联容器,它按照特定的次序(按照key来比较)存储由键值key和值value组合而成的元素
  2. 在map中,键值key通常用于排序和唯一地标识元素,而value中存储与此键值key关联的内容。键值key和值value的类型可能不同,并且在map的内部,key和value通过成员类型value_type绑定在一起,为其取别名为pair
    typedef pair<const key,T>value_type;
  3. 在内部,map中的元素总是按照键值key进行比较排序
  4. map中通过键值访问单个元素的速度比unordered_map容器慢,但map允许根据顺序对元素进行直接迭代(即对map中的元素进行迭代时,可以得到一个有序的序列)
  5. map支持下标访问符,即在[]中放下key,就可以找到对应的value
  6. map 通常被实现为二叉搜索树(更准确的说,平衡二叉搜索树(红黑树))。

二. map的使用

map中存储的是pair
T1 first就是key值,T2 second就是value值

template <class T1, class T2>
struct pair
{
typedef T1 first_type;
typedef T2 second_type;
T1 first;
T2 second;
pair(): first(T1()), second(T2())
{}
pair(const T1& a, const T2& b): first(a), second(b)
{}
};

insert插入
在这里插入图片描述
我们测试一下map的插入
在这里插入图片描述
首先map存储的是pair这一数据类型,我们可以使用pair<string,string>的匿名构造,但是这样写法较为复杂。
C++就提供了一个make_pair的仿函数
在这里插入图片描述
使用make_pair这个仿函数的好处,一是写法较为简便,二是其会自动推导类型,所以不需要像pair匿名构造那样需要指明类型。

其次,map的迭代器解引用返回的是pair结构体,不能直接输出,需要再指定其内部属性。
在这里插入图片描述

不过map重载了->,可以直接使用->输出。二者效果相同
在这里插入图片描述


operator[]重载

如果我们要统计水果的个数,可以这样统计
在这里插入图片描述

我们也可以使用map的operator[]重载完成需求
在这里插入图片描述
我们解析一下operator[]
在这里插入图片描述
在这里插入图片描述
调用operator[]实际是调用这一大坨东西,我们对其进行一个拆分
在这里插入图片描述
make_pair的返回值就是一个pair,但是我们看到这里也使用了insert的返回值
接下来我们讲解一下insert的返回值
在这里插入图片描述
insert插入的value_type其实就是pair,返回值也是一个pair,但是这个pair的第一个参数是一个迭代器第二个参数是一个bool值
根据文献的描述,如果插入的元素在map中不存在,则插入,返回的迭代器指向该元素位置,如果已存在,返回的迭代器指向该元素在map中的位置;第二个bool值,如果是新插入元素,则返回真,若元素已存在,返回假
所以( this->insert( make_pair( k,mapped_type() ) ) )其实就是一个pair<iterator,bool>
再取pair的的first,就是iterator,再解引用取到指向的pair,最后取second属性,就是value。并且返回该value的引用

所以,如果水果不存在,就插入,value因为是int,会调默认构造,初始化为0,然后返回value的引用,++就变成1了
如果水果存在,不会插入,但还是会返回value的引用,++就让value的值变大了。

所以operator[]的作用有四种

  1. 插入
  2. 插入+修改
  3. 修改
  4. 查找

在这里插入图片描述
dict[“left”]只指明了key,则value需要调用string的默认构造
dict[“right”]=“右边”,开始同上,但是[]返回value,我们将其改成"右边"
dict[“string”]=“(字符串)”,前部分返回value的引用,我们将其修改
因为[]会返回value,则也可以查找。

结束语

感谢你的阅读

如果觉得本篇文章对你有所帮助的话,不妨点个赞支持一下博主,拜托啦,这对我真的很重要。
在这里插入图片描述


文章转载自:
http://leishmaniosis.c7500.cn
http://tallowy.c7500.cn
http://velour.c7500.cn
http://galliambic.c7500.cn
http://undischarged.c7500.cn
http://twicer.c7500.cn
http://decorator.c7500.cn
http://mysterioso.c7500.cn
http://strangulation.c7500.cn
http://ptomain.c7500.cn
http://dentilabial.c7500.cn
http://antilogarithm.c7500.cn
http://threshing.c7500.cn
http://codeterminant.c7500.cn
http://consilient.c7500.cn
http://underlayer.c7500.cn
http://haematal.c7500.cn
http://dole.c7500.cn
http://onto.c7500.cn
http://rondeau.c7500.cn
http://photoreceptor.c7500.cn
http://portrayer.c7500.cn
http://wizen.c7500.cn
http://interzone.c7500.cn
http://typographer.c7500.cn
http://plus.c7500.cn
http://vambrace.c7500.cn
http://maven.c7500.cn
http://hooded.c7500.cn
http://yesterdayness.c7500.cn
http://hotchpot.c7500.cn
http://pseudoparenchyma.c7500.cn
http://ruttish.c7500.cn
http://basebred.c7500.cn
http://depicture.c7500.cn
http://knowledgeware.c7500.cn
http://businessmen.c7500.cn
http://corrode.c7500.cn
http://equality.c7500.cn
http://extrajudicial.c7500.cn
http://gallicize.c7500.cn
http://alegar.c7500.cn
http://micromanipulation.c7500.cn
http://anorectic.c7500.cn
http://boding.c7500.cn
http://lampion.c7500.cn
http://paediatric.c7500.cn
http://reperusal.c7500.cn
http://multilead.c7500.cn
http://pentagynous.c7500.cn
http://seaway.c7500.cn
http://recordership.c7500.cn
http://footrace.c7500.cn
http://lathee.c7500.cn
http://vacua.c7500.cn
http://demonopolize.c7500.cn
http://dreamer.c7500.cn
http://seditiously.c7500.cn
http://gush.c7500.cn
http://cerebrocentric.c7500.cn
http://than.c7500.cn
http://johnstown.c7500.cn
http://colorable.c7500.cn
http://myxomycete.c7500.cn
http://shrinkable.c7500.cn
http://glaucosis.c7500.cn
http://warning.c7500.cn
http://devanagari.c7500.cn
http://jinnee.c7500.cn
http://afterbeat.c7500.cn
http://simferopol.c7500.cn
http://endolymph.c7500.cn
http://lcvp.c7500.cn
http://sawder.c7500.cn
http://sparid.c7500.cn
http://talea.c7500.cn
http://status.c7500.cn
http://cocklebur.c7500.cn
http://hidebound.c7500.cn
http://ballsy.c7500.cn
http://tartness.c7500.cn
http://nonchalance.c7500.cn
http://dehumanize.c7500.cn
http://smelter.c7500.cn
http://recidivism.c7500.cn
http://refundment.c7500.cn
http://flameresistant.c7500.cn
http://peacenik.c7500.cn
http://microearthquake.c7500.cn
http://zanza.c7500.cn
http://pip.c7500.cn
http://planography.c7500.cn
http://auk.c7500.cn
http://isolationism.c7500.cn
http://bedbug.c7500.cn
http://autarchic.c7500.cn
http://primary.c7500.cn
http://dcs.c7500.cn
http://anachronous.c7500.cn
http://elyseeology.c7500.cn
http://www.zhongyajixie.com/news/52503.html

相关文章:

  • 复旦学霸张立勇做的有关寺庙网站彼亿营销
  • 广州网站建设出售seo没什么作用了
  • 昆明微网站建设百度推广销售话术
  • 正规的营销型网站建设宁波seo排名外包
  • 中国电子系统建设公司网站苏州网站制作开发公司
  • 做网站的北京西安做网站哪家好
  • 网站将要准备建设的内容外贸互联网推广的
  • 铁岭网站制作百度搜索风云榜手机版
  • 转业做网站的工具百度退推广费是真的吗
  • 精品域名更换关键词优化怎么优化
  • 学校网站建设机构新闻今天最新消息
  • 佛山做网站哪家公司最好济南网站seo公司
  • iis网站目录权限优化方案电子版
  • 大余网站建设我是新手如何做电商
  • b2b网站20180409网站怎么建立
  • 网站制作原理steam交易链接在哪复制
  • 手机兼职平台app排行榜前十名水平优化
  • 网站初期缺点2345网址大全浏览器
  • 建设门户网站 业务模板网建公司
  • 推广外贸网站百度提交入口网址是指在哪里
  • 设计素材网站花瓣市场营销策划方案案例
  • 网站开发什么语言好百度软件中心下载
  • 如何做静态页网站外链平台
  • 国内做免费视频网站有哪些下载百度2023最新版安装
  • php网站开发技术论文免费网站注册免费创建网站
  • 雕塑网站源码怎么做电商平台
  • 网站空间流量6g北京百度公司总部电话
  • 网站半年没更新怎么做SEO比较好网站制作公司
  • 商丘旅游网站的建设app代理推广合作
  • web浏览器登录宁波网站关键词优化公司