分页: 1 / 1

STL中的map的一点疑问

发表于 : 2008-11-25 15:12
weihua2008
想从map中删除点成员,首先查找看有没有在其中,然后再采取措施
map<int, string>::iterator iter;

iter = mapStudent.find(1);

mapStudent.erase(iter);
问题就是最后一个函数的返回值是void类型的,我撒知道删除是否成功,通过啥来判断阿
不象
mapStudent.erase(1);
可以通过返回值判断是否删除成功,
多多指教

Re: STL中的map的一点疑问

发表于 : 2008-11-25 19:18
xhy
mapStudent.erase(*iter); //返回1就是成功。

你可以不判断是否成功,就像free一样,不需要判断,因为不可能不成功。

Re: STL中的map的一点疑问

发表于 : 2008-11-25 20:27
Wayne.viichi
map::find 函数 返回查找目标元素的iterator
如果没有找到 则返回值等于 map::end()