std::multimap::rbegin, - std::multimap::rbegin,
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 multimap. It
corresponds to the last element of the non-reversed multimap. If the multimap
is
empty, the returned iterator is equal to rend().
range-rbegin-rend.svg
Reverse iterator to the first element.
// Run this code
#include <algorithm>
#include <iostream>
#include <map>
#include <string>
int main()
{
std::multimap<std::string, int> multimap {
{ "█", 1 },
{ "▒", 5 },
{ "░", 3 },
{ "▓", 7 },
{ "▓", 8 },
{ "░", 4 },
{ "▒", 6 },
{ "█", 2 },
};
std::cout << "Print out in reverse order using const reverse
iterators:\n";
std::for_each(multimap.crbegin(), multimap.crend(),
[](std::pair<const std::string, int> const& e) {
std::cout << "{ \"" << e.first <<
"\", " << e.second << " };\n";
});
multimap.rbegin()->second = 42; // OK: non-const value is modifiable
// multimap.crbegin()->second = 42; // Error: can't modify the const value
}
Print out in reverse order using const reverse iterators:
{ "▓", 8 };
{ "▓", 7 };
{ "▒", 6 };
{ "▒", 5 };
{ "░", 4 };
{ "░", 3 };
{ "█", 2 };
{ "█", 1 };
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)