std::deque<T,Allocator>::rbegin, std::deque<T,Allocator>::crbegin
reverse_iterator rbegin(); | (1) | (без исключений начиная с C++11) |
const_reverse_iterator rbegin() const; | (2) | (без исключений начиная с C++11) |
const_reverse_iterator crbegin() const noexcept; | (3) | (начиная с C++11) |
Возвращает обратный итератор на первый элемент реверсированного deque. Он соответствует последнему элементу нереверсированного deque. Если deque пуст, возвращаемый итератор равен rend().
Возвращаемое значение
Обратный итератор на первый элемент.
Сложность
Константная.
Примечания
Базовым итератором возвращаемого обратного итератора является итератор end. Следовательно, возвращаемый итератор становится недействительным, если и когда становится недействительным итератор end.
libc++ переносит crbegin() в режим C++98.
Пример
#include <algorithm>
#include <cassert>
#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 nums.
std::for_each(nums.crbegin(), nums.crend(),
[](const int n) { std::cout << n << ' '; });
std::cout << '\n';
// Sum all integers in the deque nums, printing only the result.
std::cout << "Sum of nums: "
<< std::accumulate(nums.crbegin(), nums.crend(), 0) << '\n';
// Print the last fruit in the deque fruits, checking if there is any.
if (!fruits.empty())
std::cout << "Last fruit: " << *fruits.crbegin() << '\n';
if (empty.crbegin() == empty.crend())
std::cout << "deque ‘empty’ is indeed empty.\n";
// Modify the last element in nums.
*nums.rbegin() = 32;
assert(*nums.crbegin() == 32);
}
Вывод:
16 8 4 2 1 Sum of nums: 31 Last fruit: raspberry deque ‘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/cpp/container/deque/rbegin