为了账号安全,请及时绑定邮箱和手机立即绑定

p2("W", "world");和p3("W", "wow");

假如我有两个相同的指标,如代码中两个"W",在for循环中输出时却只输出到p2,p3就被忽略了,为什么啊?迭代器不应该只是迭代每一个位置吗,和命名怎么会有关系?

pair<string, string> p1("H", "hello");

pair<string, string> p2("W", "world");

pair<string, string> p3("W", "wow");           


for (map<string, string>::iterator beg = map1.begin();

beg != map1.end(); beg++)

{

cout << beg->first << endl;

cout << beg->second << endl;

cout << endl;

}

输出如下:

http://img1.sycdn.imooc.com//57e785000001375301910130.jpg

正在回答

1 回答

map中的Key-Value是一一对应的,构成映射,所以当你输入多个相同指标,是会被覆盖的。只会输出不同的Key-Value来。

0 回复 有任何疑惑可以回复我~
#1

vortesnail 提问者

那就是默认输出第一个KEY对应的VALUE咯?
2016-09-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之模板篇
  • 参与学习       91156    人
  • 解答问题       318    个

本C++教程力求即学即会,所有知识以实践方式讲解到操作层面

进入课程

p2("W", "world");和p3("W", "wow");

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信