std::multiset<Key,Compare,Allocator>::rbegin, std::multiset<Key,Compare,Allocator>::crbegin
reverse_iterator rbegin(); | (1) | (без исключений с C++11) |
const_reverse_iterator rbegin() const; | (2) | (без исключений с C++11) |
const_reverse_iterator crbegin() const noexcept; | (3) | (начиная с C++11) |
Возвращает обратный итератор к первому элементу перевёрнутого multiset. Он соответствует последнему элементу неперевёрнутого multiset. Если multiset пуст, возвращённый итератор равен rend().
Возвращаемое значение
Обратный итератор к первому элементу.
Сложность
Константная.
Примечания
Поскольку iterator и const_iterator являются константными итераторами (и фактически могут быть итераторами одного типа), изменять элементы контейнера через итератор, возвращённый любой из этих функций-членов, невозможно.
Базовый итератор возвращённого обратного итератора — это итератор конца. Следовательно, возвращённый итератор становится недействительным, если и когда становится недействительным итератор конца.
libc++ переносит crbegin() в режим C++98.
Пример
#include <iostream>
#include <set>
int main()
{
std::multiset<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';
}
}
Вывод:
⏼ ⏼ ⏼ ⏼ ⏼ ⏼ ⏼ ⏼ ⏼ ⏼ ⏼ ⏼ ⏼ ⏼ ⏼ ⏼ ⏼ ⏼ ⏼ ⏼
См. также
|
(C++11) | возвращает обратный итератор конца (открытая функция-член) |
|
(C++14) | возвращает обратный итератор к началу контейнера или массива (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/multiset/rbegin