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 。 - _First),以最小的值開始因為 N 會明顯增加。 如果 _Dest 和 _First 指定儲存的區域,則 _Dest 不能介於 [_First, _Last)。
需求
標頭:<algorithm>
命名空間: std