c++ std::vectord的find方法
时间: 2023-07-26 17:36:05 浏览: 77
C++标准库中std::vector容器的find方法可以用于在容器中查找指定元素的位置。其函数原型如下:
```c++
template <class T>
iterator find (iterator first, iterator last, const T& val);
```
其中,first和last是迭代器,表示在[first,last)区间中查找元素val。如果找到了,则返回指向该元素的迭代器;否则返回last。
例如,给定一个vector<int>类型的容器v和一个整数x,可以使用以下代码在容器中查找元素x:
```c++
auto it = find(v.begin(), v.end(), x);
if (it != v.end()) {
//找到了元素x,可以通过迭代器it访问其值
} else {
//未找到元素x
}
```
需要注意的是,如果vector中存储的是自定义类型,需要自己重载该类型的==运算符,以便find方法可以正确地比较元素。
相关问题
c++ std::vectord的find方法使用示例
下面是一个使用std::vector的find方法的示例:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> v = {1, 2, 3, 4, 5};
int x = 3;
auto it = find(v.begin(), v.end(), x);
if (it != v.end()) {
cout << "找到了元素" << x << ",下标为" << distance(v.begin(), it) << endl;
} else {
cout << "未找到元素" << x << endl;
}
return 0;
}
```
以上代码中,我们定义了一个vector<int>类型的容器v,存储了5个整数。然后,我们使用std::find方法,在容器v中查找元素x=3的位置。如果查找成功,则返回指向该元素的迭代器;否则返回v.end()。最后,我们使用std::distance函数计算出找到元素的下标,并输出结果。
输出结果为:
```
找到了元素3,下标为2
```
需要注意的是,如果vector中存储的是自定义类型,需要自己重载该类型的==运算符,以便find方法可以正确地比较元素。
阅读全文