开课吧:C++STL常用remove算法有哪些?

173 阅读1分钟

C++标准库提供了大量可以用来对容器及其他序列进行算法操作的函数。这些组件可以是函数或者函数模板,大部分由头文件

提供。以下四个remove相关的函数就包含在头文件algorithm中。

\

四个remove详细介绍

1、remove

作用:删除具有给定值的元素。是通过将与val相等的元素替换为下一个不相等的元素来完成移除的,函数不能改变包含元素的容器的属性(即它不能改变容器的大小),函数以迭代器的形式返回出最后一个相等元素的下一个位置。

2、remove_if

作用:删除满足pred函数条件的元素,是在remove的基础上,增加了一个一元函数,接受一定迭代器first到last的元素作为参数,返回值表示该元素是否成功移除,该函数可以是函数指针,也可以是函数对象。

3、remove_copy

作用:复制序列时删除具有给定值的元素,是将范围内不等于val的元素copy到从迭代器result开始的范围内。

4、remove_copy_if

作用:复制序列时删除满足一元函数pred条件的元素,是在remove_copy的基础上,增加了一个一元函数,接受一定迭代器first到last的元素作为参数。