您的位置:首页 > 编程语言 > C语言/C++

C++泛型中replace和replace_copy

2016-09-17 20:02 453 查看
在c++中,可以使用replace替换序列里面某些特定的值。

void replace(_FwdIt _First, _FwdIt _Last, const _Ty& _Oldval, const _Ty& _Newval);

很明显在replace中有四个参数,第一和第二个参数是将要替换的序列的开头和结尾。例如vector<int> 的对象ivec,ivec.begin(),和ivec.end()这两个参数。而第三个参数是要替换序列中的值,第四个就是替换后的新值。
如果说想要在替换之后保留原有的序列,那么可以使用replace_copy这个函数来:

_OutIt replace_copy(_InIt _First, _InIt _Last, _OutIt _Dest, const _Ty& _Oldval, const _Ty& _Newval)在replace_copy中的前面两个参数跟replace是一样的,而第三个参数就是保存替换之前的序列。这里可以使用back_inserter()来进行输出序列。例如back_inserter(ivec)。
而第四个和第五个跟replace函数里面的第三个第四个是一样的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息