C++泛型中replace和replace_copy

在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函数里面的第三个第四个是一样的。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值