一个函数的形参是个vector的迭代器,该怎么传参
时间: 2024-02-24 09:56:20 浏览: 125
如果你要传递一个 vector 的迭代器作为函数的形参,你可以将 vector 对象的 begin() 或 end() 方法的返回值作为实参,也可以直接传递一个迭代器对象作为实参。例如:
```C++
#include <vector>
#include <iostream>
void my_function(std::vector<int>::iterator it) {
// 迭代器操作
}
int main() {
std::vector<int> vec{1, 2, 3, 4, 5};
my_function(vec.begin()); // 传递 begin() 方法返回的迭代器
my_function(vec.end() - 1); // 传递 end() 方法返回的迭代器
my_function(vec.begin() + 2); // 传递一个迭代器对象
return 0;
}
```
在上面的示例中,我们定义了一个函数 `my_function`,它的形参是一个 `std::vector<int>::iterator` 类型的迭代器。在 `main` 函数中,我们创建了一个 `vector` 对象 `vec`,并分别通过 `vec.begin()`、`vec.end() - 1` 和 `vec.begin() + 2` 三种方式将不同的迭代器作为实参传递给了 `my_function`。
阅读全文