std::set::rbegin,std::set::crbegin -
std::set::rbegin,std::set::crbegin
reverse_iterator rbegin(); (until C++11)
reverse_iterator rbegin() noexcept; (since C++11)
const_reverse_iterator rbegin() const; (until C++11)
const_reverse_iterator rbegin() const noexcept; (since C++11)
const_reverse_iterator crbegin() const noexcept; (since C++11)
Returns a reverse iterator to the first element of the reversed set. It
corresponds
to the last element of the non-reversed set. If the set is empty, the
returned
iterator is equal to rend().
range-rbegin-rend.svg
Reverse iterator to the first element.
Because both iterator and const_iterator are constant iterators
(and may in fact be
the same type), it is not possible to mutate the elements of the container
through
an iterator returned by any of these member functions.
// Run this code
#include <iostream>
#include <set>
int main()
{
std::set<unsigned> rep{1, 2, 3, 4, 1, 2, 3, 4};
for (auto it = rep.crbegin(); it != rep.crend(); ++it) {
for (auto n = *it; n > 0; --n)
std::cout << "⏼" << ' ';
std::cout << '\n';
}
}
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)