公有成员函数

std::list::remove


void remove(const value_type& val);

  删除与给定值相等的元素

  从容器中删除所有与 val 值相等的元素。list::remove 函数删除给定元素时,会调用被删除对象的析构函数,并且缩小相应大小的容器 size 。

  list::remove 与另一个成员函数 list::erase 不同,后者使用迭代器来确定需要被删除的元素;前者通过数值的方式来确定被删除元素。

  有一个与 list::remove 相似的函数—— list::remove_if ——它允许使用一个“仿函数”来确定被删除元素。

参数

  val

  被删除元素的值。

  成员类型 value_type 是容器中元素的类型,作为一个模板参数 T 的别名,被定义在 list 中。

返回值

  没有返回值

用例

// remove from list
#include <iostream>
#include <list> int main ()
{
int myints[]= {,,,};
std::list<int> mylist (myints,myints+); mylist.remove(); std::cout << "mylist contains:";
for (std::list<int>::iterator it=mylist.begin(); it!=mylist.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n'; return ;
}

  输出 :

  mylist contains: 17 7 14

复杂度

  线性复杂度,取决于容器 size 。 O(n)

迭代器的有效性

  指向已被函数移除的元素的迭代器、指针和引用是非法的。不影响指向其他元素的指针、迭代器和引用。

数据种类

  容器是经过改进的

  被删除的元素会被修改。尽管遍历容器是不安全的,但并发访问或者修改其他元素是安全的。

异常安全

  如果比较两个元素不会抛出异常,那么 list::remove 将不会抛出异常。(可以确保不会抛出异常)

  否则,如果一个异常被抛出,容器会留下一个有效状态。(基本能够保证)

参阅

list::remove_if 移除满足条件的元素
list::erase 擦除元素
list::unique 移除重复元素
list::pop_back 删除最靠后的元素
list::pop_front 删除最靠前的元素

感谢

  Mengmeng Zhang

原文地址:http://www.cplusplus.com/reference/list/list/remove/

最新文章

  1. BPM配置故事之案例1-配置简单流程
  2. week 4 日志
  3. TortoiseSVN status cache占用CPU高
  4. linux——基本配置
  5. Linux释放内存空间
  6. linux64位android项目R文件无法生成以及Cannot run program adb
  7. SqlSever基础 intersect 交集 两个查询结果共有的
  8. 详解Java中的访问控制修饰符(public, protected, default, private)
  9. Web应用程序安全必须重视八大问题
  10. 剑指offer26 复杂链表的复制
  11. C语言 结构体数组保存到二进制文件中
  12. SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件
  13. ORM之SQLALchemy
  14. 【BZOJ2829】[SHOI2012]信用卡凸包(凸包)
  15. Windows和Mac上NodeJS和Express的安装
  16. 源自KPI交谈的思考
  17. vCenter 5.1 U1 Installation: Part 9 (vCenter SSO Configuration)
  18. NTP服务器时间集群借节点之间同步
  19. arduino远程刷新(烧录)固件
  20. 附2 volatile

热门文章

  1. POJ 3368 &amp; UVA 11235 - Frequent values
  2. POJ_2019_Cornfields
  3. an upstream response is buffered to a temporary file
  4. debug $mysqli-&gt;character_set_name();
  5. 【RBAC】打造Web权限控制系统
  6. 基础邮件原理(MUA,MTA,MDA)
  7. Andrew Ng-ML-第七章-逻辑回归
  8. 1.keras实现--&gt;自己训练卷积模型实现猫狗二分类(CNN)
  9. JS参差不齐的数组
  10. keras中TimeDistributed