• 19552阅读
  • 4回复

如何QMap的遍历中,删除满足条件的元素? [复制链接]

上一主题 下一主题
离线jedychen
 

只看楼主 倒序阅读 楼主  发表于: 2008-09-09
— 本帖被 XChinux 执行加亮操作(2008-09-10) —
遍历QMap时,等调用remove函数,删除某些满足一定条件的元素吗?
会不会引起Iterator的遍历异常?
离线water_wf

只看该作者 1楼 发表于: 2008-09-09
为啥遍历时remove而不erase呢,remove是用来删除满足某种条件的
离线zhangxudong

只看该作者 2楼 发表于: 2008-09-09
用iterator QMap::erase ( iterator pos )就可以了,用返回的iterator往下走就可以了
离线jedychen

只看该作者 3楼 发表于: 2008-09-16
erase和remove是一样的:
void QMap::erase ( iterator it )
Removes the item associated with the iterator it from the map.
This function is provided for STL compatibility. It is equivalent to remove().
离线jedychen

只看该作者 4楼 发表于: 2008-09-16
我用的是Qt3.3.8
[ 此贴被jedychen在2008-09-16 16:27重新编辑 ]
快速回复
限100 字节
 
上一个 下一个