Метод rbegin
Метод rbegin возвращает обратный итератор,
который указывает на последний элемент вектора.
Обратный итератор движется в направлении от конца
вектора к его началу, то есть при инкременте он
перемещается к предыдущему элементу. Само содержимое
вектора при этом не изменяется. Параметров метод
не принимает.
Синтаксис
vec.rbegin()
Пример
Давайте получим обратный итератор на последний элемент вектора и выведем его значение:
#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
Пример
Давайте изменим последний элемент вектора через обратный итератор:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec = {1, 2, 3, 4, 5};
*vec.rbegin() = 99;
for (int el : vec)
{
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 4 99