STL中的map的一点疑问

软件和网站开发以及相关技术探讨
回复
weihua2008
帖子: 448
注册时间: 2008-07-10 15:08

STL中的map的一点疑问

#1

帖子 weihua2008 » 2008-11-25 15:12

想从map中删除点成员,首先查找看有没有在其中,然后再采取措施
map<int, string>::iterator iter;

iter = mapStudent.find(1);

mapStudent.erase(iter);
问题就是最后一个函数的返回值是void类型的,我撒知道删除是否成功,通过啥来判断阿
不象
mapStudent.erase(1);
可以通过返回值判断是否删除成功,
多多指教
头像
xhy
帖子: 3916
注册时间: 2005-12-28 1:16
系统: Ubuntu 12.10 X64
来自: 火星

Re: STL中的map的一点疑问

#2

帖子 xhy » 2008-11-25 19:18

mapStudent.erase(*iter); //返回1就是成功。

你可以不判断是否成功,就像free一样,不需要判断,因为不可能不成功。
目前负债150多万
Wayne.viichi
帖子: 8
注册时间: 2008-11-16 20:13

Re: STL中的map的一点疑问

#3

帖子 Wayne.viichi » 2008-11-25 20:27

map::find 函数 返回查找目标元素的iterator
如果没有找到 则返回值等于 map::end()
回复