C++低级问题迭代器和MAP

map<int,string>mapStudent;mapStudent[1]="std_1";mapStudent[3]="std_3";mapStudent[5]="... map<int,string>mapStudent;
mapStudent[1] = "std_1";
mapStudent[3] = "std_3";
mapStudent[5] = "std_5";

for(map<int,string>::iterator iter = mapStudent.begin();
iter != mapStudent.end();iter = mapStudent.upper_bound(*iter))
//这里upper_bound里面应该用什么才行?求解!
cout<<iter->second<<endl;
展开
 我来答
wskjuf
2012-03-04 · TA获得超过1289个赞
知道大有可为答主
回答量:1731
采纳率:0%
帮助的人:1783万
展开全部
你是一定要用upper_bound,还是只想输出iter指向的内容?如果是后者,用iter++就可以了。
更多追问追答
追问
是想测试UPPER_BOUND的用法
追答
int i(1);
for(map::iterator iter = mapStudent.lower_bound(i);
iter != mapStudent.upper_bound(i); iter++)
coutsecond<<endl;

推荐你看STL_tutorial_reference.pdf,这是学stl最好的参考书。176、186页的地方有此用法,例子为多重映射,但有印刷上的错误,注意改正一下。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式