copy_if
在項目的範圍,複本是指定之條件的 true 的項目。
template<class InputIterator, class OutputIterator, class BinaryPredicate>
OutputIterator copy_if(
InputIterator _First,
InputIterator _Last,
OutputIterator _Dest,
Predicate _Pred
);
參數
_First
表示範圍開始檢查條件的輸入 Iterator。_Last
表示範圍結尾的輸入 Iterator。_Dest
指出複製的元素之目的端輸出 Iterator 的地方。_Pred
在這個範圍內的每個項目是測試的條件。使用者定義的述詞函式物件提供這種情況。述詞會採用一個引數並傳回 true 或 false。
傳回值
等於 _Dest 的輸出 Iterator 符合條件的每個項目使用。換句話說,會 _Dest 的傳回值與複製的元素數目。
備註
樣板函式評估
if (_Pred(*_First + N))
*_Dest++ = *(_First + N))
一次是在範圍 [0,_Last的每 N - 以最小的值 N 的確實地將值的_First),否則為。如果 _Dest 和儲存區, _Dest 的 _First 指定地區無法在範圍 [_First,_Last)。
需求
標題: <algorithm>
命名空間: std