Функция rend
Функция rend возвращает обратный итератор,
который указывает на элемент, предшествующий
первому элементу контейнера. Иными словами, это
обратный итератор на позицию перед началом
контейнера, если рассматривать его в обычном
порядке. Функция не принимает параметров и
возвращает объект типа reverse_iterator
(или const_reverse_iterator для
константного контейнера). Чаще всего rend
используется в паре с rbegin для обхода
контейнера в обратном порядке.
Синтаксис
container.rend()
Пример
Давайте обойдём вектор в обратном порядке,
используя rbegin и rend:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
for (auto it = vec.rbegin(); it != vec.rend(); ++it) {
cout << *it << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
5 4 3 2 1
Пример
Давайте убедимся, что rend указывает
именно на позицию перед первым элементом, а
не на сам первый элемент:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
auto it = vec.rend();
--it;
cout << *it << endl;
return 0;
}
Результат выполнения кода:
1
Смотрите также
-
функция
rbegin,
которая возвращает обратный итератор на последний элемент -
функция
begin,
которая возвращает итератор на первый элемент -
функция
end,
которая возвращает итератор на позицию после последнего элемента -
класс
reverse_iterator,
который представляет обратный итератор