find_if() 写一个容器里面相等的int元素
时间: 2024-10-11 09:12:01 浏览: 9
`find_if()` 是C++标准库中的一个函数,它属于 `<algorithm>` 头文件,用于在一个范围(由两个迭代器界定)内寻找第一个满足特定条件的元素。如果你想要在容器(如vector或list)中找到第一个等于某个整数值的元素,可以结合`find_if`与一个lambda表达式来实现。
假设我们有一个`std::vector<int>` `numbers`,你想找出第一个等于5的元素:
```cpp
#include <iostream>
#include <algorithm>
#include <vector>
int main() {
std::vector<int> numbers = {1, 3, 5, 7, 5, 9};
auto it = std::find_if(numbers.begin(), numbers.end(), [](int n) { return n == 5; });
if (it != numbers.end()) {
std::cout << "Found first occurrence of 5 at position: " << std::distance(numbers.begin(), it) << '\n';
} else {
std::cout << "Element not found.\n";
}
return 0;
}
```
这段代码会输出第一个5的位置(索引),如果找不到,则输出"Element not found."[^1]。
阅读全文