C++学习笔记——pair与map遍历深究
来源:互联网 发布:vep视觉训练软件 编辑:程序博客网 时间:2024/06/05 16:29
之前发过一篇 map 和 set 的组合使用的例子,进行排除常见单词的重复单词计数,这个例子中还有一些很多需要思考的问题
例子如下:
#include<iostream>#include<string>#include<map>using namespace std;int main(){ map<string,size_t> word_count; string word; while(cin>>word) { ++word_count[word]; } for(const auto &w:word_count) cout<<w.first<<" occurs "<<w.second<<((w.second>1?" times":" time"))<<endl; system("pause"); return 0;}
比如
for(const auto &w:word_count)
这个语句涉及到C++11新标准的 使用基于范围的for语句 在C++ primer的 83页可以找到详细的论述
例如当 word_cout是string型的时候,w就是char型,在这里 word_count是map型,所以w就是pair型,当然我们可以利用auto语句来进行自动的类型识别。
此外纠结了一晚上的疑问还有为什么必须写 w.first 而不能直接写 word_count.first
思考之后的结果是
因为w是map中的元素,所以是pair型的,pair型才可以写成 w.first
而word_count是map型的,map型的元素的遍历 需要定义一个迭代器iterator :: itr,并用itr->first或者itr->second
0 0
- C++学习笔记——pair与map遍历深究
- STL map的遍历与pair的使用
- STL中map, list, and pair的学习笔记
- C++,map和pair用法
- STL笔记:map and pair
- C++学习笔记21——pair类型
- map与pair的使用
- map(multimap)与pair
- C++STL学习Pair
- 【C/C++】关联容器pair map set
- STL的pair学习, map学习
- halcon学习笔记——遍历文件夹与文件选择
- halcon学习笔记——遍历文件夹与文件选择
- 【ES6学习】— (7)Set、Map数据结构与Iterator遍历器
- pair 和 map结合应用——POJ 3096
- set与map和pair容器
- 关联容器------map与pair的使用
- 深究JavaScript——参数传递与变量复制
- 敏捷开发之Scrum扫盲篇
- LinkedHashMap和HashMap的比较使用
- coderforces 701A Cards
- Shell编程(4):字符串
- Miller_Rabin大素数测试 与 Pollard_rho整数分解模版
- C++学习笔记——pair与map遍历深究
- tableview模版自定义willDisplayCell改变字体颜色
- Android Universal Image Loader 源码分析
- 卡尔曼滤波_1
- 轮询调度算法(Round-Robin Scheduling) 和 权重轮询调度算法(Weighted Round-Robin Scheduling)
- 科学收集并分析Android用户敏感信息实战
- block知识点回顾
- Android 内存泄漏总结
- Java版的Shell程序