# std::array<T,N>::rbegin, std::array<T,N>::crbegin

From cppreference.com
< cpp‎ | container‎ | array

| (1) |
reverse_iterator rbegin() noexcept; |  | (until C++17)
constexpr reverse_iterator rbegin() noexcept; |  | (since C++17)
| (2) |
const_reverse_iterator rbegin() const noexcept; |  | (until C++17)
constexpr const_reverse_iterator rbegin() const noexcept; |  | (since C++17)
| (3) |
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().

### Parameters

(none)

### Return value

Reverse iterator to the first element.

### Complexity

Constant.

### Example

Run this code

    #include <algorithm>
    #include <array>
    #include <iostream>
    #include <string>
    #include <string_view>

    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 crend (C++11) | returns a reverse iterator to the end (public member function)
rbegin crbegin (C++14) | returns a reverse iterator to the beginning of a container or array (function template)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/container/array/rbegin&oldid=122726"