c++ map 容器的的first和second为什么会失效?
这段代码之前我并没有对容器进行erase等操作啊,而且我在for中又定向到了容器的begin,迭代器为什么会失效呢for(map<int,int>::iteratorit...
这段代码之前我并没有对容器进行erase等操作啊,而且我在for中又定向到了容器的begin,迭代器为什么会失效呢for(map<int,int>::iterator it = mmp.begin(); it != mmp.end(); it++) cout << *it.first << ' ' << *it.second << endl;
展开
1个回答
展开全部
map容器取成员不是这样用的
给你个例子:
map<string, int> m;
m["one"] = 1;
map<string, int>::iterator p = m.begin();
p->first; // 这个是 string 值是 "one"
p->second; //这个是 int 值是 1
给你个例子:
map<string, int> m;
m["one"] = 1;
map<string, int>::iterator p = m.begin();
p->first; // 这个是 string 值是 "one"
p->second; //这个是 int 值是 1
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询