std::list<T,Allocator>::rbegin, std::list<T,Allocator>::crbegin
| (1) | ||
reverse_iterator rbegin(); |
(до C++11) | |
reverse_iterator rbegin() noexcept; |
(с C++11) | |
| (2) | ||
const_reverse_iterator rbegin() const; |
(до C++11) | |
const_reverse_iterator rbegin() const noexcept; |
(с C++11) | |
const_reverse_iterator crbegin() const noexcept; |
(3) | (с C++11) |
Возвращает обратный итератор на первый элемент перевёрнутого list. Он соответствует последнему элементу неперевёрнутого list. Если list пуста, возвращаемый итератор равен rend().
Параметры
(нет)
Значение возврата
Обратный итератор на первый элемент.
Сложность
Постоянная.
Пример
#include <algorithm>
#include <iostream>
#include <numeric>
#include <string>
#include <list>
int main()
{
std::list<int> nums{1, 2, 4, 8, 16};
std::list<std::string> fruits{"orange", "apple", "raspberry"};
std::list<char> empty;
// Print list.
std::for_each(nums.rbegin(), nums.rend(), [](const int n) { std::cout << n << ' '; });
std::cout << '\n';
// Sums all integers in the list nums (if any), printing only the result.
std::cout << "Sum of nums: "
<< std::accumulate(nums.rbegin(), nums.rend(), 0) << '\n';
// Prints the first fruit in the list fruits, checking if there is any.
if (!fruits.empty())
std::cout << "First fruit: " << *fruits.rbegin() << '\n';
if (empty.rbegin() == empty.rend())
std::cout << "list 'empty' is indeed empty.\n";
}Вывод:
16 8 4 2 1 Sum of nums: 31 First fruit: raspberry list 'empty' is indeed empty.
См. также
|
(C++11)
|
возвращает обратный итератор в конец (публичный член-функция) |
|
(C++14)
|
возвращает обратный итератор к началу контейнера или массива (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/container/list/rbegin