STL list如何删除指定的元素

来源:互联网 发布:文档扫描软件下载 编辑:程序博客网 时间:2024/06/02 07:41

在网上找资料的时候看到一种删除list中元素的方法,如下

std::list<Subscriber*> subscribers_;

subscribers_.erase(std::remove(subscribers_.begin(),subscribers_.end(), &subscriber),
         subscribers_.end());

 

其实对于list,完全可以用list::remove函数直接移除元素,效果是一样的。

但是对于没有remove函数的STL容器来说,例如vector,就可以用该方法移除元素了。

要注意的是std::remove方法并不删除在数组最后的元素,而是返回一个新的数组的结尾位置,所以还要调用erase方法删除新的结尾位置和旧的结尾位置之间的元素。

 

原创粉丝点击