複製元素:
copy(begin,end,destbegin);
copy_backward(sourcebegin,source end,destend);
將區間的元素複製到destbegin/destend裡面去
copy正向,copy_backward反向
STL沒有copy_if(),只有remove_copy_if().
注意目的地區域的空間
代碼
轉換和結合:
transform(sourcebegin,sourceend,destbeg,destend,op);
針對區間的每一個元素調用op(elem),然後寫到destbeg裡面去
transform(sourcebegin,sourceend,soucrce2beg,destbeg,op);
針對sourcebegin,sourceend以及source2beg的元素調用op(sourceelem,source2elem);並將結果寫入destbeg裡面
注意:以上兩個都返回最後一個被轉換元素的下一個位置,並且要保證destbeg源區有足夠的大小
swap_range(beg1,end1,beg2);
將區間beg1,end1內的元素從beg2開始的對應元素對掉
代碼
賦值:
fill(begin,end,newValue);
fill_n(begin,n,newValue);
fill將區間的每一個元素賦予newValue;
fill_n將begin開始的前n個元素賦予newvalue
generate(begin,end,op);
generate_n(begin,num,op);
generate調用op返回的值,並賦予begin,end內的元素
generate_n嗲用op傳回值,並賦予begin前的元素
代碼
替換元素:
replace(beg,end,old value,newvalue);
replace(beg,end,op,newvalue);
replace_copy(sourcebeg,sourceend,destbeg,oldvalue,newvalue);
replace_copy_if(sourcebeg,sourceend,destbeg,op,newvalue);
將source複製到dest,同時將oldvalue替換成newvalue