vector中迭代器
时间: 2024-06-18 12:05:06 浏览: 105
vector是C++ STL中的一个容器,它可以动态调整大小,存储任意类型的数据。迭代器是指向vector中元素的指针,它提供了一种方便的方式来遍历vector中的元素,同时可以对vector中的元素进行修改。
vector中的迭代器分为const_iterator和iterator两种类型。const_iterator用于遍历vector中的元素,但是不能修改元素的值;而iterator不仅可以遍历vector中的元素,还可以修改元素的值。
vector迭代器有以下几个常用的操作:
1. `*it`:解引用迭代器,返回当前迭代器所指向的元素。
2. `it++`:将迭代器指向下一个元素。
3. `it--`:将迭代器指向上一个元素。
4. `it+n`:将迭代器向前移动n个元素。
5. `it-n`:将迭代器向后移动n个元素。
6. `it1 == it2`:判断两个迭代器是否相等。
下面是一个示例代码,展示了如何使用迭代器遍历vector中的元素:
```
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec{1, 2, 3, 4, 5};
// 使用const_iterator遍历vector中的元素
cout << "const_iterator: ";
for (vector<int>::const_iterator it = vec.cbegin(); it != vec.cend(); ++it) {
cout << *it << " ";
}
cout << endl;
// 使用iterator修改vector中的元素
cout << "iterator: ";
for (vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
*it = *it * 2;
cout << *it << " ";
}
cout << endl;
return 0;
}
```
阅读全文