Функция rbegin
Функция rbegin возвращает обратный итератор,
который указывает на последний элемент контейнера.
При этом инкремент такого итератора перемещает его
к началу контейнера. Функция не принимает параметров
и не изменяет сам контейнер. Обратный итератор удобно
использовать для перебора элементов в обратном порядке.
Синтаксис
container.rbegin()
Функция возвращает объект типа reverse_iterator,
который указывает на последний элемент контейнера.
Пример
Давайте получим обратный итератор на последний элемент вектора и выведем его значение:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
cout << *vec.rbegin() << endl;
return 0;
}
Результат выполнения кода:
5
Пример
Давайте переберём все элементы вектора в обратном
порядке с помощью функций 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
Пример
Давайте выведем последний символ строки, используя
функцию rbegin:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "abcde";
cout << *str.rbegin() << endl;
return 0;
}
Результат выполнения кода:
"e"
Смотрите также
-
функция
rend,
которая возвращает обратный итератор на начало контейнера -
функция
begin,
которая возвращает итератор на первый элемент контейнера -
функция
end,
которая возвращает итератор на элемент после последнего -
класс
reverse_iterator,
который представляет обратный итератор