替换元素(replace,replace_if,replace_copy,replace_copy_if)

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的变形

  1. 将元素复制到result中
  2. 先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的变形

  1. 先copy之后再replace_if
  2. 不能作用于单一的(就地)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);

猜你喜欢

转载自www.cnblogs.com/tianzeng/p/10403932.html