c++ algorithm find_if
时间: 2024-06-13 17:03:45 浏览: 108
C++在成员函数中使用STL的find_if函数实例
C++ STL中的find_if算法是用于在容器中查找满足特定条件的元素的。它需要两个迭代器作为参数,第一个迭代器指向容器的起始位置,第二个迭代器指向容器的结束位置。此外,它还需要一个谓词函数作为参数,该函数用于判断元素是否满足特定条件。如果找到了满足条件的元素,则返回该元素的迭代器;否则返回结束迭代器。
下面是一个示例代码,用于在vector中查找第一个大于10的元素:
```
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool greater_than_10(int num) {
return num > 10;
}
int main() {
vector<int> nums = {1, 5, 8, 12, 15};
auto it = find_if(nums.begin(), nums.end(), greater_than_10);
if (it != nums.end()) {
cout << "The first element greater than 10 is: " << *it << endl;
} else {
cout << "No element greater than 10 found." << endl;
}
return 0;
}
```
输出结果为:
```
The first element greater than 10 is: 12
```
阅读全文