c++vector容器怎么样迭代
时间: 2024-07-13 09:01:12 浏览: 64
在C++中,`vector`是一个动态数组容器,它提供了方便的随机访问迭代器,可以方便地遍历和操作容器中的元素。
使用`vector`容器的迭代器进行迭代的基本步骤如下:
1. 创建一个指向`vector`容器的迭代器对象。可以使用`begin()`函数获取指向容器起始位置的迭代器对象,或者使用`end()`函数获取指向容器末尾位置的迭代器对象。
2. 使用迭代器对象进行遍历。可以使用迭代器对象的成员函数`operator++()`或者`++iter`来递增迭代器对象,从而遍历整个容器中的元素。
3. 在遍历过程中,可以使用迭代器对象的成员函数`operator*()`来访问当前位置的元素,或者使用成员函数`operator->()`来获取指向当前元素的指针,以便直接使用指针进行操作。
下面是一个简单的示例代码,展示了如何使用迭代器遍历一个`vector`容器中的元素:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << std::endl;
}
return 0;
}
```
输出结果为:
```
1
2
3
4
5
```
在上述示例中,我们首先创建了一个`vector`容器`vec`,并初始化了其中的元素。然后,我们使用迭代器对象`it`遍历整个容器中的元素,使用`operator*()`访问当前位置的元素,并输出到控制台。需要注意的是,在遍历过程中,迭代器对象`it`会自动递增到下一个位置,因此我们只需要在循环中使用一次递增操作即可。
除了使用迭代器对象进行遍历外,还可以使用范围基础的for循环来遍历`vector`容器中的元素。例如:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
for (int i : vec) {
std::cout << i << std::endl;
}
```
上述代码使用了范围基础的for循环来遍历容器中的元素,并直接使用变量`i`来访问当前位置的元素。这种方式更加简洁和易读。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)