- 要删除容器中有特定值的所有对象:
如果容器是vector 、string 或deque ,则使用erase-remove 习惯用法。
如果容器是list ,则使用list: :remove 。
如果容器是一个标准关联容器,则使用它的erase 成员函数。 - 要删除容器中满足特定判别式(条件)的所有对象:
如果容器是vector、string 或deque ,则使用erase-remove_if 习惯用法。
如果容器是list ,则使用list::remove_if 。
如果容器是一个标准关联容器,则使用remove_copy_if 和swap ,或者写一个循环来
遍历容器中的元素,记住当把迭代器传给erase 时,要对它进行后缀递增。 - 要在循环内部做某些(除了删除对象之外的)操作:
如果容器是一个标准序列容器,则写一个循环来遍历容器中的元素,记住每次调
用erase 时,要用它的返回值更新迭代器。
如果容器是一个标准关联容器,则写一个循环来遍历容器中的元素,记住当把迭
代器传给erase 时,要对迭代器做后缀递增。
STL学习笔记 - 删除容器中元素的方法
最新推荐文章于 2024-05-18 09:00:00 发布