c++array迭代器及用法
来源:千锋教育
发布人:zyh
2023-06-01
推荐
在C++中,`std::array`容器提供了迭代器来遍历容器的元素。迭代器是一种指向容器元素的对象,它允许你以顺序访问容器的元素。
`std::array`容器提供了以下迭代器相关的成员函数:
1. `begin()`:返回一个指向容器第一个元素的迭代器。
2. `end()`:返回一个指向容器最后一个元素之后位置的迭代器。注意,它不指向最后一个元素本身。
3. `rbegin()`:返回一个指向容器最后一个元素的反向迭代器。
4. `rend()`:返回一个指向容器第一个元素之前位置的反向迭代器。注意,它不指向第一个元素本身。
以下是`std::array`迭代器的用法示例:
#include <iostream>
#include <array>
int main() {
std::array<int, 5> arr = {1, 2, 3, 4, 5};
// 使用正向迭代器遍历容器
std::cout << "Forward iteration: ";
for (auto it = arr.begin(); it != arr.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
// 使用反向迭代器遍历容器
std::cout << "Reverse iteration: ";
for (auto rit = arr.rbegin(); rit != arr.rend(); ++rit) {
std::cout << *rit << " ";
}
std::cout << std::endl;
return 0;
}
输出:
Forward iteration: 1 2 3 4 5
Reverse iteration: 5 4 3 2 1
在示例中,我们使用`begin()`和`end()`函数获取正向迭代器,并使用`rbegin()`和`rend()`函数获取反向迭代器。然后,我们使用迭代器来遍历容器的元素,使用`*`操作符解引用迭代器以获取元素的值。
需要注意的是,迭代器是一种轻量级对象,可以用于遍历容器中的元素,但不支持随机访问。