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