Пространства имён
Варианты
Действия

std::vector::rend, std::vector::crend

Материал из cppreference.com
< cpp‎ | container‎ | vector
 
 
 
 
reverse_iterator rend();
(до C++11)
reverse_iterator rend()noexcept;
(начиная с C++11)
(до C++20)
constexpr reverse_iterator rend()noexcept;
(начиная с C++20)
const_reverse_iterator rend()const;
(до C++11)
const_reverse_iterator rend()constnoexcept;
(начиная с C++11)
(до C++20)
constexpr const_reverse_iterator rend()constnoexcept;
(начиная с C++20)
const_reverse_iterator crend()constnoexcept;
(начиная с C++11)
(до C++20)
constexpr const_reverse_iterator crend()constnoexcept;
(начиная с C++20)

Возвращает обратный итератор на элемент, следующий за последним элементом перевёрнутого vector. Он соответствует элементу, предшествующему первому элементу не перевёрнутого vector. Этот элемент существуют лишь условно, попытка доступа к нему приведёт к неопределенному поведению.

range-rbegin-rend.svg

Содержание

[править]Параметры

(нет)

[править]Возвращаемое значение

Обратный итератор на элемент, следующий за последним элементом.

[править]Сложность

Константная.


[править]Пример

#include <algorithm>#include <iostream>#include <numeric>#include <string>#include <vector>   int main(){std::vector<int> nums {1, 2, 4, 8, 16};std::vector<std::string> fruits {"апельсин", "яблоко", "малина"};std::vector<char> empty;   // Напечатаем vector.std::for_each(nums.rbegin(), nums.rend(), [](constint n){std::cout<< n <<' ';});std::cout<<'\n';   // Сумма всех чисел в vector nums (если такие есть), печатаем результат.std::cout<<"Сумма чисел: "<<std::accumulate(nums.rbegin(), nums.rend(), 0)<<'\n';   // Печатаем первый фрукт в vector fruits, с проверкой если они есть.if(!fruits.empty())std::cout<<"Первый фрукт: "<<*fruits.rbegin()<<'\n';   if(empty.rbegin()== empty.rend())std::cout<<"vector 'empty' - действительно пуст.\n";}

Вывод:

16 8 4 2 1 Сумма чисел: 31 Первый фрукт: малина vector 'empty' - действительно пуст.

[править]See also

возвращает обратный итератор на начало
(public функция-элемент)[править]
close