In this article, we’d shed some light on the implementation of ranges::reverse_view
and std::views::reverse
. We’ll compare them to understand the differences between views and their adaptor objects.
Understanding Ranges Views and View Adaptors Objects in C++20/C++23
By Bartlomiej Filipek
From the article:
Let’s look at an example to understand how these views work. Assume we have a ranger
of integers from 1 to 5. When we applystd::views::reverse
tor
, it creates a view representing the elements ofr
in the reverse order.
#include <ranges> #include <vector> #include <iostream> int main() { std::vector<int> r = {1, 2, 3, 4, 5}; auto reversed = r | std::views::reverse; for (auto i : reversed) std::cout << i << " "; // same as: for (auto i : r | std::views::reverse) std::cout << i << " "; }
Add a Comment
Comments are closed.