C++ 算法 replace_copy_if()函数
C++算法 replace_copy_if() 函数用于将范围[first, last)
的元素复制到起点为result的范围中,将满足 pred 返回true的元素替换为new_value。它使用谓词 pred 而不是operator==
来比较元素。
此函数检查源范围中的每个元素,如果它满足指定的谓词,则替换它并将结果复制到新的目标范围中。
语法
template <class InputIterator, class OutputIterator, class UnaryPredicate, class T>
OutputIterator replace_copy_if (InputIterator first, InputIterator last,
OutputIterator result, UnaryPredicate pred, const T& new_value);
参数
first :指向从中替换元素的范围的初始位置的输入迭代器。
last :指向从中替换元素的范围的结束位置的输入迭代器。
result :指向存储结果序列的范围的第一个元素的输出迭代器。
pred :必须满足的一元谓词,如果元素的值要被替换。
old_value :被替换元素的旧值。
new_value :赋予旧值元素的新值。
返回值
replace_copy_if()函数返回一个指向结果序列中最后一个写入的位置的输出迭代器。