STL algorithm find_if
2008-06-07 13:28
253 查看
Find element in range
Returns an iterator to the first element in the range [first,last) for which applying pred to it, is true.
The behavior of this function template is equivalent to:
If pred is false for all elements, the function returns last.
Output:
Returns an iterator to the first element in the range [first,last) for which applying pred to it, is true.
The behavior of this function template is equivalent to:
template<class InputIterator, class Predicate> InputIterator find_if ( InputIterator first, InputIterator last, Predicate pred ) { for ( ; first!=last ; first++ ) if ( pred(*first) ) break; return first; } |
Parameters
first, last Input iterators to the initial and final positions in a sequence. The range used is [first,last), which contains all the elements between first and last, including the element pointed by first but not the element pointed by last. pred Unary predicate taking an element in the range as argument, and returning a value indicating the falsehood (with false, or a zero value) or truth (true, or non-zero) of some condition applied to it. This can either be a pointer to a function or an object whose class overloads operator().Return value
An iterator to the first element in the range for which the application of pred to it does not return false (zero).If pred is false for all elements, the function returns last.
Example
// find_if example #include <iostream> #include <algorithm> #include <vector> using namespace std; bool IsOdd (int i) { return ((i%2)==1); } int main () { vector<int> myvector; vector<int>::iterator it; myvector.push_back(10); myvector.push_back(25); myvector.push_back(40); myvector.push_back(55); it = find_if (myvector.begin(), myvector.end(), IsOdd); cout << "The first odd value is " << *it << endl; return 0; } |
The first odd value is 25 |
Complexity
At most, performs as many applications of pred as the number of elements in the range [first,last).相关文章推荐
- c++ stl algorithm: std::find, std::find_if
- c++ stl algorithm: std::find, std::find_if
- c++ stl algorithm: std::find, std::find_if
- 从零开始学C++之STL(五):非变动性算法源代码分析与使用示例( for_each、min_element 、find_if、search 等)
- STL 查找vector容器中的指定对象:find()与find_if()算法
- find_if http://www.cplusplus.com/reference/algorithm/find_first_of/
- STL应用 vector & find_if
- STL find_if使用(exam)
- 记录 C++ STL 中 一些好用的函数--持续更新 (for_each,transform,count_if,find_if)
- STL find_if应用及其他
- STL中remove_if()/find_if()/replace_if()的使用方法(The usages of remove_if()/find_if()/replace_if() )
- (STL)for_each、find_if用法
- STL algorithm find() demo
- (原創) 如何使用find() algorithm? (C/C++) (STL)
- 实战c++中的vector系列--vector应用之STL的find、find_if、find_end、find_first_of、find_if_not(C++11)
- stl 的find_if算法用来查找容器内的符合条件的元素
- 关于在STL容器list中使用find_if搜索特定的节点
- How to learn C++ and find all STL Algorithm reference
- stl::find_if用法总结
- stl的find、find_if简单demo