算法 replace,replace_copy,back_inserter

replace (list.begin(), list.end(), 0, 42); // replace any elements with value of 0 by 42

replace算法对输入序列作读写操作,将序列中特定的值替换为新的值。

vector<int> ivec;
replace_copy (ilst.begin(), ilst.end(), back_inserter(ivec), 0, 42);

replace_copy对输入序列的元素进行处理,但不修改原来的元素,而是创建一个新序列存储元素的处理结果。

back_inserter函数对在试图通过这个迭代器给元素赋值的时候,赋值元算将调用push_back在容器中添加一个具有指定值的元素。

原文地址:https://www.cnblogs.com/qiushuixiaozhanshi/p/5629825.html