c++迭代器遍历数组
时间: 2024-08-13 12:02:58 浏览: 55
在 C++ 中,迭代器是一种特殊的指针,用于遍历容器(如数组、向量、列表等)中的元素。它们使得我们可以按照一定的顺序访问容器中的数据,而不需要关心底层的具体存储机制。对于数组,虽然它不是标准库容器,但我们仍然可以使用迭代器来遍历。
以下是使用迭代器遍历整型数组的基本步骤:
1. 定义一个指向数组首元素的迭代器 `iterator_type array_start = &array;`,这里的 `&array` 是数组的起始地址。
2. 使用 `++iterator` 或 `iterator++` 来移动迭代器到下一个元素,直到达到数组结束,通常我们检查 `iterator != array_end` 这样的条件,其中 `array_end` 是数组最后一个元素的地址加一。
3. 使用迭代器访问元素,例如 `*iterator` 或 `*(iterator++)`。
示例代码如下:
```cpp
int array[] = {1, 2, 3, 4, 5};
std::size_t size = sizeof(array) / sizeof(array);
int* end = array + size;
// 迭代器遍历数组
for (int* iterator = array; iterator != end; ++iterator) {
std::cout << *iterator << " ";
}
```
相关问题
c++ 迭代器遍历map数组
在C++中,我们可以使用迭代器来遍历map数组。map的迭代器是一个指向pair对象的指针,pair的第一个元素是key,第二个元素是value。
以下是一个简单的例子:
```c++
#include <iostream>
#include <map>
using namespace std;
int main() {
map<string, int> m {{"one", 1}, {"two", 2}, {"three", 3}};
// 使用迭代器遍历map
for (auto it = m.begin(); it != m.end(); ++it) {
cout << it->first << ": " << it->second << endl;
}
return 0;
}
```
输出结果为:
```
one: 1
three: 3
two: 2
```
可以看到,我们使用迭代器遍历了整个map数组,并输出了每个key-value对的内容。需要注意的是,map是按照key的大小进行排序的,因此遍历的顺序可能与插入的顺序不同。
C++中定义迭代器遍历数组
在C++中,迭代器是一种特殊的指针,它用于遍历容器(如数组、向量、集合等)。通过迭代器,我们可以按元素顺序访问容器中的每个元素,而不需要关心底层存储结构。以下是使用迭代器遍历整型数组的基本步骤:
1. 定义数组和迭代器变量:
```cpp
int arr[] = {1, 2, 3, 4, 5};
size_t size = sizeof(arr) / sizeof(arr[0]);
std::vector<int>::iterator iter; // 使用vector的iterator作为示例,但适用于其他支持迭代的容器
```
2. 初始化迭代器:
```cpp
iter = arr; // 将迭代器指向数组的第一个元素
```
3. 遍历数组:
```cpp
while (iter != arr + size) {
std::cout << *iter << " "; // 输出当前元素的值
++iter; // 移动到下一个元素
}
```
在这里,`*iter` 表示通过迭代器访问的当前元素,`arr + size` 则是数组最后一个元素的下一个位置,循环会在到达这里时结束。
阅读全文