C++如何传递指向迭代器的指针
时间: 2023-08-30 10:06:16 浏览: 122
C++指针使用方法
5星 · 资源好评率100%
在 C++ 中,可以通过指向迭代器的指针来传递迭代器参数,这在需要在函数中操作迭代器时很有用。以下是传递指向迭代器的指针的示例代码:
```
#include <iostream>
#include <vector>
using namespace std;
void func(vector<int>::iterator* ptr)
{
(*ptr)++; // 操作迭代器
}
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
vector<int>::iterator it = vec.begin();
cout << "it: " << *it << endl;
func(&it); // 传递指向迭代器的指针
cout << "it: " << *it << endl;
return 0;
}
```
在上面的代码中,`func` 函数接受一个指向迭代器的指针 `vector<int>::iterator* ptr`,并在函数内部操作迭代器。在 `main` 函数中,首先声明一个包含一些整数的向量 `vec` 并将其迭代器 `it` 初始化为指向第一个元素。然后输出迭代器 `it` 所指向的值。接着调用 `func` 函数,将 `it` 的地址传递给它。在 `func` 函数中,通过解引用和自增运算符来操作迭代器,因此在 `main` 函数中输出 `it` 所指向的值时,输出的是向量中的下一个元素。
需要注意的是,在传递指向迭代器的指针时,需要使用指针来声明函数参数,以便在函数内部操作迭代器。
阅读全文