std::find_if
时间: 2023-02-22 20:09:52 浏览: 53
C++在成员函数中使用STL的find_if函数实例
std::find_if 是 C++ 中 STL 库中的一个函数,它可以在一个给定的范围内查找第一个符合指定条件的元素。它接收一个范围和一个谓词(即一个判断条件的函数)作为参数,返回第一个满足该条件的元素的迭代器。如果在整个范围内都找不到满足条件的元素,则返回 last 参数指向的位置。
示例代码:
```
#include <algorithm>
#include <iostream>
#include <vector>
bool IsOdd (int i) {
return (i % 2) == 1;
}
int main () {
std::vector<int> vec = {1, 2, 3, 4, 5};
auto result = std::find_if (vec.begin(), vec.end(), IsOdd);
if (result != vec.end()) {
std::cout << "The first odd value is " << *result << '\n';
} else {
std::cout << "No odd values were found.\n";
}
return 0;
}
```
输出:
```
The first odd value is 1
```
阅读全文