std::find 返回在std::vector中的位置
时间: 2024-06-19 19:04:00 浏览: 235
`std::find` 是 C++ 标准库中的一个算法,用于在容器中查找指定元素。当在 `std::vector` 中使用 `std::find` 时,它会返回一个迭代器,指向找到的元素的位置。如果没有找到该元素,则返回指向容器末尾的迭代器(即 `end()`)。
示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
int target = 3;
// 使用 std::find 查找目标元素
std::vector<int>::iterator it = std::find(vec.begin(), vec.end(), target);
if (it != vec.end()) {
std::cout << "找到元素 " << target << ",位置为:" << (it - vec.begin()) << std::endl;
} else {
std::cout << "未找到元素 " << target << std::endl;
}
return 0;
}
```
在这个例子中,`std::find` 在 `vec` 中查找元素 `3`,并返回一个指向该元素的迭代器。通过计算 `(it - vec.begin())`,我们可以得到元素在 `std::vector` 中的位置。
阅读全文