公有成员函数

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/

【翻译】std::list::remove - C++ Reference的更多相关文章

  1. Error response from daemon: conflict: unable to remove repository reference 解决方案

    由于前一章演示用的镜像没什么用准备删除 docker image rm hello-world:latest Error response from daemon: conflict: unable ...

  2. 【翻译】std::remove - C++ Reference

    函数模板 std::remove 头文件<algorithm> template <class ForwardIterator, class T> ForwardIterato ...

  3. docker删除镜像Error response from daemon: conflict: unable to remove repository reference

    Docker无法删除images,由于是依赖container. 1.进入root权限   sudo su 2. 列出所有运行或没有运行的镜像  docker  ps  -a 3.停止containe ...

  4. LLVM 编码规范 - 中文翻译

    LLVM 编码规范 导论 语言.库和标准 C++ 标准版本 C++ 标准库 Go 代码准则 机械的代码问题 代码格式化 注释 头文件 类概述 method information 注释格式化 使用Do ...

  5. (翻译)什么是Java的永久代(PermGen)内存泄漏

    http://www.codelast.com/?p=7248 转载请注明出处:http://www.codelast.com/ 本文是我对这篇文章的翻译:What is a PermGen leak ...

  6. 深入理解JDK中的Reference原理和源码实现

    前提 这篇文章主要基于JDK11的源码和最近翻看的<深入理解Java虚拟机-2nd>一书的部分内容,对JDK11中的Reference(引用)做一些总结.值得注意的是,通过笔者对比一下JD ...

  7. Java Reference 源码分析

    @(Java)[Reference] Java Reference 源码分析 Reference对象封装了其它对象的引用,可以和普通的对象一样操作,在一定的限制条件下,支持和垃圾收集器的交互.即可以使 ...

  8. C++11中std::unordered_map的使用

    unordered map is an associative container that contains key-value pairs with unique keys. Search, in ...

  9. 第29课 互斥量与自解锁(std::mutex和lock系列)

    一. 互斥量 (一)Mutex系列类 1. std::mutex:独占的互斥量,不能递归使用. 2. std::recursive_mutex:递归互斥量.允许同一线程多次获得该互斥锁,可以用来解决同 ...

随机推荐

  1. HDU 1083 - Courses - [匈牙利算法模板题]

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1083 Time Limit: 20000/10000 MS (Java/Others) M ...

  2. 表优化 altering table OPTIMIZE TABLE `sta_addr_copy`

    表优化 altering table OPTIMIZE TABLE `sta_addr_copy` [总结] 1.实际测试的结果是,在state sqlaltering table OPTIMIZE ...

  3. noip做题记录+挑战一句话题解?

    因为灵巧实在太弱辽不得不做点noip续下命QQAQQQ 2018 积木大赛/铺设道路 傻逼原题? 然后傻逼的我居然检查了半天是不是有陷阱最后花了差不多一个小时才做掉我做过的原题...真的傻逼了我:( ...

  4. oracle显示转换字段类型cast()函数

    今天遇到一个查询类型转换的问题:表的字段是varchar2类型,然后查询到的结果要转换为number(20,2),刚开始的时候使用to_number()函数,发现不能满足需求.后来才知道,原来还有ca ...

  5. OC convertRect

    举个例子: redView = [[UIView alloc]initWithFrame:CGRectMake(50, 100, 100, 100)]; redView.backgroundColor ...

  6. Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)

    https://blog.csdn.net/shinesun001/article/details/54312402 在centos 7环境下搭建好Lnmp环境之后,发现安装的php有好多扩展都没有安 ...

  7. [py]彻底细究web框架的wsgi+逻辑处理模块

    wsgi逻辑结构初探 参考: 这里图很精彩,wsgi写的不错 web框架 = wsgi+逻辑处理app 接收请求,返回对应的内容 python wsgiref实现了wsgi规范. from wsgir ...

  8. 包管理 ----- Linux操作系统rpm包安装方式步骤

    Linux操作系统rpm包安装方式步骤 2016年08月04日 07:00:26 阅读数:17140 转自 : http://os.51cto.com/art/201003/186467.htm 特别 ...

  9. POJ2488:A Knight's Journey(dfs)

    http://poj.org/problem?id=2488 Description Background The knight is getting bored of seeing the same ...

  10. [LeetCode] 675. Cut Off Trees for Golf Event_Hard tag: BFS

    You are asked to cut off trees in a forest for a golf event. The forest is represented as a non-nega ...