# std::rend(std::initializer_list)

From cppreference.com
< cpp‎ | utility‎ | initializer list

Defined in header `<iterator>` |  |
template <class E> std::reverse_iterator <const E*> rend( std::initializer_list <E> il ); |  | (since C++14)

The overload of std::rend for `initializer_list` returns an std::reverse_iterator pointing at the first element of `il`.

### Parameters

il | - | an `initializer_list`

### Return value

std::reverse_iterator <const E*>(il.begin()).

### Exceptions

(none)

### Notes

This overload is necessary because std::initializer_list does not have a member function `rend`. No overload is needed for std::crend because it is implemented in terms of std::rend.

### Example

Run this code

    #include <iostream>
    #include <iterator>

    int main()
    {
        auto il = { 3, 1, 4 };
        for (auto it = std::rbegin(il); it != std::rend(il); ++it)
            std::cout << *it << '\n';
    }

Output:

    4
    1
    3

### See also

rbegincrbegin (C++14) | returns a reverse iterator to a container or array (function template)
rendcrend (C++14) | returns a reverse end iterator for a container or array (function template)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/utility/initializer_list/rend2&oldid=96889"