C++中vector迭代器遍历
时间: 2024-06-16 14:03:29 浏览: 8
在C++中,vector是一种动态数组,可以存储多个元素。要遍历vector的元素,可以使用迭代器(iterator)来实现。
迭代器是一种指向容器中元素的对象,它可以用于遍历容器中的元素。对于vector,可以使用begin()和end()成员函数获取迭代器的起始位置和结束位置。
下面是使用迭代器遍历vector的示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用迭代器遍历vector
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
```
在上面的代码中,我们首先创建了一个包含整数的vector对象vec。然后,使用vec.begin()获取迭代器的起始位置,使用vec.end()获取迭代器的结束位置。接下来,使用for循环和迭代器遍历vector中的元素。在循环中,通过*it来访问当前迭代器指向的元素。
输出结果为:1 2 3 4 5
相关问题
c++ 用迭代器遍历vector数组
可以使用以下代码来使用迭代器遍历vector数组:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> nums = {1, 2, 3, 4, 5};
// 使用迭代器遍历数组
vector<int>::iterator it;
for (it = nums.begin(); it != nums.end(); ++it) {
cout << *it << " ";
}
return 0;
}
```
在上面的代码中,我们定义了一个名为nums的vector数组,并使用迭代器遍历了它。我们首先定义了一个名为it的迭代器,它被初始化为nums.begin(),即指向数组的第一个元素。然后,我们使用一个for循环来遍历数组,每次迭代都将迭代器it递增,直到it等于nums.end(),即指向数组末尾的下一个位置。在循环体中,我们输出了当前迭代器指向的元素值。
c++ 迭代器遍历vector
你可以使用迭代器来遍历并修改 vector 中的元素。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用迭代器遍历并修改 vector
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
*it = *it * 2;
}
// 打印修改后的 vector
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
上述代码中,我们使用了 `std::vector<int>::iterator` 来声明迭代器,并通过 `vec.begin()` 和 `vec.end()` 获取 vector 的起始和结束位置的迭代器。然后,我们在循环中通过 `*it` 访问当前迭代器指向的元素,并进行修改。最后,我们使用范围-based for 循环打印修改后的 vector。
该示例将输出:2 4 6 8 10,即将 vector 中的每个元素乘以 2。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)