table of contents
std::array::rbegin,std::array::crbegin(3) | C++ Standard Libary | std::array::rbegin,std::array::crbegin(3) |
NAME¶
std::array::rbegin,std::array::crbegin - std::array::rbegin,std::array::crbegin
Synopsis¶
reverse_iterator rbegin() noexcept; (until C++17)
constexpr reverse_iterator rbegin() noexcept; (since C++17)
const_reverse_iterator rbegin() const noexcept; (until C++17)
constexpr const_reverse_iterator rbegin() const noexcept; (since
C++17)
const_reverse_iterator crbegin() const noexcept; (until C++17)
constexpr const_reverse_iterator crbegin() const noexcept; (since
C++17)
Returns a reverse iterator to the first element of the reversed array. It
corresponds to the last element of the non-reversed array. If the array is
empty,
the returned iterator is equal to rend().
range-rbegin-rend.svg
Parameters¶
(none)
Return value¶
Reverse iterator to the first element.
Complexity¶
Constant.
Example¶
// Run this code
#include <algorithm>
#include <iostream>
#include <string>
#include <string_view>
#include <array>
int main()
{
constexpr std::array<std::string_view, 8> data =
{"▁","▂","▃","▄","▅","▆","▇","█"};
std::array<std::string, std::size(data)> arr;
std::copy(data.cbegin(), data.cend(), arr.begin());
// ^ ^ ^
auto print = [](const std::string_view s) { std::cout << s << '
'; };
print("Print 'arr' in direct order using [cbegin, cend):\t");
std::for_each(arr.cbegin(), arr.cend(), print);
// ^ ^
print("\n\nPrint 'arr' in reverse order using [crbegin,
crend):\t");
std::for_each(arr.crbegin(), arr.crend(), print);
// ^^ ^^
print("\n");
}
Output:¶
Print 'arr' in direct order using [cbegin, cend): ▁ ▂ ▃ ▄ ▅ ▆ ▇ █
Print 'arr' in reverse order using [crbegin, crend): █ ▇
▆ ▅ ▄ ▃ ▂ ▁
See also¶
rend returns a reverse iterator to the end
crend (public member function)
(C++11)
rbegin returns a reverse iterator to the beginning of a container or array
crbegin (function template)
(C++14)
2022.07.31 | http://cppreference.com |