副本& copy_if vs remove_copy& remove_copy_if

时间:2017-08-17 11:39:59

标签: c++ algorithm

我试图找到copy(copy_if)和remove_copy(remove_copy_if)stl算法之间的任何区别,但似乎没有任何实际差异而不是:

  

Source and destination ranges cannot overlap   在remove_copy算法

这些算法确实存在重大且实际的差异吗?

1 个答案:

答案 0 :(得分:3)

copy_if仅复制满足给定谓词的元素,remove_copy_if另一方面仅复制满足指定谓词的元素。因此这两个功能相互补充,它们不相同。

顺便说一下copy_if也有类似的声明The behavior is undefined if the source and the destination ranges overlap.因此可能没有检查它,但是让源和目标重叠是非常糟糕的。