《CPrimer》学习笔记map容器insert操作的使用_第1页
《CPrimer》学习笔记map容器insert操作的使用_第2页
《CPrimer》学习笔记map容器insert操作的使用_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+ Primer 学习笔记:map容器insert 操作的使用 读入的单词出现的次数编写程序统计并输出所map容器中含有一个或一对迭代器形参的 到容器中,而单个参数版本中则会返回in sert函数版本并不说明是否有或有多少个元素插入pair类型对象:m.insert(e)e是一个用在 m上的value_type 类型的值。如果键 (e.first) 不在m中,则插入一个值为e.second的新元素;如果该键在m中已存在,则保持 m不变。该函数返回一个pair类型对象,包含指向键为 e.first的元素的map迭代器,以及一个bool类型的对象,表示 是否插入了该元素。感觉这里insert的使

2、用比较难懂,记下以免忘记编写程序统计并输岀所读入的单词岀现的次数view sourcepri nt?01 #in clude <iostream>02 #in clude <stri ng>03 #in clude <map>0405 using namespacestd;0607 i nt08 09101112mai n()stri ng word;map<stri ng,i nt> word_co unt;while(ci n >> word)1314pair<map<stri ng,i nt>:iterator

3、,bool> pword_coun t.i nsert(make_pair(word,1);1516171819 20if(p.sec ond = false)+p.first->seco nd;21for(map<stri ng,i nt>:iteratorflag=word_co un t.begi n();flag!=word_cou nt.e nd();flag+)22cout << flag->first << " "<< flag->sec ond << en dl;23分析:v

4、iew sourcepri nt?1 pairvmapvstri ng,i nt>:iterator,bool> p =word_co un t.i nsert(make_pair(word,1);p为pair类型变量,第一个元素为 mapvstring,int>容器的迭代器,第二个元素为bool类型。insert 操作在 word_count容器中加入一个键为string word ,值为int 1 的对象;insert 操作返回pair赋给p,贝U p的第一个元素迭代器指向的键为string word,且当word在word_count 中不存在时 p的第二个元素为 true,存在时为false。后面的语句if(p.second = false)即判断当 word在word_count中存在时,执行if语句内操作。view sourcepri nt?1 +p.first->sec ond;这里的语句可以拆分为view sourcepri nt?1 +(*(p.first).seco nd);p.first为指向word_count容器内键为string word对象的迭代器,对其解引用得到word_count容器内键为string word的对象,该对象类型为map<string,int>:valut_type。value_type 为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论