键盘的咏叹调

常用链接

统计

最新评论

切记,关于删除STL容器

  • 去除一个容器中有特定值的所有对象:

    如果容器是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时记得后置递增它。

posted on 2008-11-21 10:40 键盘的咏叹调 阅读(259) 评论(0)  编辑 收藏 引用 所属分类: C++


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理