std::multiset<Key,Compare,Allocator>::rend, std::multiset<Key,Compare,Allocator>::crend
reverse_iterator rend(); | (1) | (без исключений с C++11) |
const_reverse_iterator rend() const; | (2) | (без исключений с C++11) |
const_reverse_iterator crend() const noexcept; | (3) | (начиная с C++11) |
Возвращает обратный итератор к элементу, следующему за последним элементом перевёрнутого multiset. Он соответствует элементу, предшествующему первому элементу неперевёрнутого multiset. Этот элемент служит заполнителем; попытка обратиться к нему приводит к неопределённому поведению.
Возвращаемое значение
Обратный итератор к элементу, следующему за последним элементом.
Сложность
Постоянная.
Примечания
Поскольку и iterator, и const_iterator являются константными итераторами (и фактически могут иметь один и тот же тип), изменить элементы контейнера через итератор, возвращённый любой из этих функций-членов, невозможно.
libc++ добавляет поддержку crend() в режиме 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/rend