c++迭代器vector
时间: 2024-04-11 08:25:14 浏览: 117
C++中的vector是一种动态数组,它可以存储多个相同类型的元素。迭代器是vector的一种重要特性,它可以用于遍历vector中的元素。下面是一个关于C++迭代器和vector的示例代码[^1][^2]:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v = {1, 2, 3, 4, 5};
// 使用迭代器遍历vector并输出元素
vector<int>::iterator it;
for (it = v.begin(); it != v.end(); ++it) {
cout << *it << " ";
}
cout << endl;
return 0;
}
```
上述代码中,我们首先创建了一个包含整数的vector对象v。然后,我们使用迭代器it来遍历vector中的元素。通过调用`v.begin()`和`v.end()`函数,我们可以获得指向vector的第一个元和最后一个元素之后的位置的迭代器。循环中,我们使用`*it`来访问迭代器指向的元素,并将其输出到控制台。
希望这个例子能够帮助你理解C++中迭代器和vector的使用。
相关问题
c++ 迭代器访问vector
你可以使用迭代器来访问一个 vector。迭代器是指向容器中元素的指针,它可以让你遍历容器的元素。
下面是一个简单的示例,展示了如何使用迭代器访问一个 vector:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用迭代器遍历 vector
std::vector<int>::iterator it;
for (it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
```
在上面的示例中,我们定义了一个 vector,然后使用 `vec.begin()` 获取指向第一个元素的迭代器,使用 `vec.end()` 获取指向最后一个元素的下一个位置的迭代器。然后,我们使用 `for` 循环和迭代器逐个访问并打印出 vector 中的元素。
输出结果将会是:1 2 3 4 5。
你也可以使用范围循环(range-based loop)来更简洁地遍历 vector:
```cpp
for (int element : vec) {
std::cout << element << " ";
}
```
这样就可以直接遍历 vector 中的每个元素并打印出来。
希望这能帮到你!如果还有其他问题,请随时提问。
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。
阅读全文