replace
审阅range中的每个元素,把old_value替换为new_value
template <class ForwardIterator,class T> void replace(ForwardIterator first,ForwardIterator last,const T& old_value,const T& new_value);
replace_if
把pred(*i)为true的替换为new_value,为false的不影响
template <class ForwardIterator,class Predicate,class T> void replace(ForwardIterator first,ForwardIterator last,Predicate pred,const T& new_value);
replace_copy
为replace的变形
- 将元素复制到result中
- 先copy之后再replace
template <class ForwardIterator,class OutputIterator,class T> OutputIterator replace_copy(ForwardIterator first,ForwardIterator last,OutputIterator result,const T& old_value,const T& new_value);
replace_copy_if
为replace_if的变形
- 先copy之后再replace_if
- 不能作用于单一的(就地)replace
template <class ForwardIterator,class OutputIterator,class Predicate,class T> OutputIterator replace_copy_if(ForwardIterator first,ForwardIterator last,OutputIterator result,Predicate pred,const T& new_value);