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函數裏面的第三個第四個是一樣的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章