zoukankan      html  css  js  c++  java
  • STL: remove

    remove

    Eliminates a specified value from a given range without disturbing the order of the remaining elements and returning the end of a new range free of the specified value.

     
    template<class ForwardIterator, class Type> 
       ForwardIterator remove( 
          ForwardIterator _First,  
          ForwardIterator _Last,  
          const Type& _Val 
       );

    注,The list class has a more efficient member function version of remove, which also relinks pointers. remove并不真正从容器中删除那些元素(也就说,容器大小并没有改变),而是将每一个不等于value的元素依次赋值给first之后的空间。返回值ForwardIterator 标示出重新整理后的最后一个元素的下一个位置。如果要删除那些残余的数据,可以讲返回的迭代器交给区间所在容器的erase成员函数。

    remove_copy

    Copies elements from a source range to a destination range, except that elements of a specified value are not copied, without disturbing the order of the remaining elements and returning the end of a new destination range.

    template<class InputIterator, class OutputIterator, class Type> 
       OutputIterator remove_copy( 
          InputIterator _First,  
          InputIterator _Last,  
          OutputIterator _Result, 
          const Type& _Val 
       );

    remove_copy_if

    Copies elements from a source range to a destination range, except that satisfying a predicate are not copied, without disturbing the order of the remaining elements and returning the end of a new destination range.

     
    template<class InputIterator, class OutputIterator, class Predicate> 
       OutputIterator remove_copy_if( 
          InputIterator _First,  
          InputIterator _Last,  
          OutputIterator _Result, 
          Predicate _Pred 
       );

    remove_if

    Eliminates elements that satisfy a predicate from a given range without disturbing the order of the remaining elements and returning the end of a new range free of the specified value.

    template<class ForwardIterator, class Predicate> 
       ForwardIterator remove_if( 
          ForwardIterator _First,  
          ForwardIterator _Last, 
          Predicate _Pred 
       );
  • 相关阅读:
    什么是面向对象(OOP)
    Java虚拟机(JVM)你只要看这一篇就够了!
    ES6中新增的Object.assign()方法详解
    微信小程序_专题_脚本之家(小程序全部知识点)
    微信小程序 生命周期详解
    vue 阻止事件冒泡,捕获方法
    Java必备常见单词
    JS夸页面通信极简方案&纯前端实现文件下载
    vue keep-alive以及activated,deactivated生命周期的用法
    JVM实用参数 内存调优
  • 原文地址:https://www.cnblogs.com/freewater/p/2953607.html
Copyright © 2011-2022 走看看