std::multimap<Key,T,Compare,Allocator>:: rbegin, std::multimap<Key,T,Compare,Allocator>:: crbegin
|
reverse_iterator rbegin
(
)
;
|
(1) |
(noexcept начиная с C++11)
(constexpr начиная с C++26) |
|
const_reverse_iterator rbegin
(
)
const
;
|
(2) |
(noexcept начиная с C++11)
(constexpr начиная с C++26) |
|
const_reverse_iterator crbegin
(
)
const
noexcept
;
|
(3) |
(начиная с C++11)
(constexpr начиная с C++26) |
Возвращает обратный итератор на первый элемент обращенного * this . Он соответствует последнему элементу необращенного * this .
Если * this пуст, возвращаемый итератор равен rend() .
Содержание |
Возвращаемое значение
Обратный итератор на первый элемент.
Сложность
Константа.
Примечания
Базовый итератор возвращаемого обратного итератора является конечным итератором . Следовательно, возвращаемый итератор становится недействительным, если и когда конечный итератор становится недействительным.
libc++ переносит обратно
crbegin()
в режим C++98.
Пример
#include <algorithm> #include <iostream> #include <string> #include <map> int main() { std::multimap<std::string, int> map { {"█", 1}, {"▒", 5}, {"░", 3}, {"▓", 7}, {"▓", 8}, {"░", 4}, {"▒", 6}, {"█", 2} }; std::cout << "Вывод в обратном порядке с использованием константных обратных итераторов:\n"; std::for_each(map.crbegin(), map.crend(), [](std::pair<const std::string, int> const& e) { std::cout << "{ \"" << e.first << "\", " << e.second << " };\n"; }); map.rbegin()->second = 42; // OK: неконстантное значение можно изменять // map.crbegin()->second = 42; // Ошибка: нельзя изменять константное значение }
Возможный вывод:
Вывод в обратном порядке с использованием константных обратных итераторов:
{ "▓", 8 };
{ "▓", 7 };
{ "▒", 6 };
{ "▒", 5 };
{ "░", 4 };
{ "░", 3 };
{ "█", 2 };
{ "█", 1 };
Смотрите также
|
(C++11)
|
возвращает обратный итератор на конец
(public member function) |
|
(C++14)
|
возвращает обратный итератор на начало контейнера или массива
(function template) |