copy_if
在范围元素,副本为指定条件 true 的元素。
template<class InputIterator, class OutputIterator, class BinaryPredicate>
OutputIterator copy_if(
InputIterator _First,
InputIterator _Last,
OutputIterator _Dest,
Predicate _Pred
);
参数
_First
指示范围开始。检查条件的输入迭代器。_Last
指示一个范围的末尾。输入迭代器。_Dest
指示复制的元素的输出目标的迭代器。_Pred
在范围中每个元素的测试条件。 一个用户定义的对象提供谓词函数此条件。 谓词采用一个参数并返回 true 或 false。
返回值
等于 _Dest 的输出用于迭代器实现条件的每个元素使用增加。 换言之,减去 _Dest 的返回值等于复制的元素的数目。
备注
模板函数计算
if (_Pred(*_First + N))
*_Dest++ = *(_First + N))
一次为范围 [0, _Last中的每个 N - 开始从最低值的 N 严格递增值的_First)。 如果 _Dest 和存储_Dest 的 _First 指定区域不在范围 [_First, _Last)。
要求
标头: <算法>
命名空间: std