自行實現C++ STL reverse_iterator逆序输出array容器中存储的所有元素
时间: 2024-11-15 16:26:53 浏览: 6
在C++标准模板库(STL)中,`reverse_iterator`是一种特殊的迭代器,它能够反向遍历容器的内容。如果你想要逆序输出`array`容器中存储的所有元素,可以使用`std::reverse_iterator`配合范围-based for循环。下面是一个示例:
```cpp
#include <iostream>
#include <array>
// 假设我们有一个包含整数的数组
std::array<int, 5> my_array = {10, 20, 30, 40, 50};
// 使用 reverse_iterator
void print_array_in_reverse(std::array<int, N>& arr, size_t N) {
// 创建一个指向数组首元素之后的reverse_iterator
std::reverse_iterator<std::array<int, N>::iterator> it(arr.rbegin(), arr.rend());
for (; it != arr.rend(); ++it) {
// 输出当前逆序位置的元素
std::cout << *it << " ";
}
// 结束循环后换行
std::cout << "\n";
}
int main() {
print_array_in_reverse(my_array, my_array.size());
return 0;
}
```
当你运行上述代码时,它会从数组的最后一个元素开始,逐个向前输出所有元素,最终效果就是逆序打印。
阅读全文