Namespaces
Variants

std::list<T,Allocator>:: rend, std::list<T,Allocator>:: crend

From cppreference.net

reverse_iterator rend ( ) ;
(1) (noexcept seit C++11)
(constexpr seit C++26)
const_reverse_iterator rend ( ) const ;
(2) (noexcept seit C++11)
(constexpr seit C++26)
const_reverse_iterator crend ( ) const noexcept ;
(3) (seit C++11)
(constexpr seit C++26)

Gibt einen Reverse-Iterator zurück, der hinter dem letzten Element des umgekehrten * this liegt. Es entspricht dem Element vor dem ersten Element des nicht-umgekehrten * this .

Dieser zurückgegebene Iterator fungiert lediglich als Sentinel. Es ist nicht garantiert, dass er dereferenzierbar ist.

range-rbegin-rend.svg

Inhaltsverzeichnis

Rückgabewert

Umgekehrter Iterator auf das Element nach dem letzten Element.

Komplexität

Konstante.

Hinweise

libc++ portiert crend() in den C++98-Modus zurück.

Beispiel

#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;
    // Liste ausgeben.
    std::for_each(nums.rbegin(), nums.rend(), [](const int n) { std::cout << n << ' '; });
    std::cout << '\n';
    // Summiert alle Ganzzahlen in der Liste nums (falls vorhanden), gibt nur das Ergebnis aus.
    std::cout << "Summe von nums: "
              << std::accumulate(nums.rbegin(), nums.rend(), 0) << '\n';
    // Gibt die erste Frucht in der Liste fruits aus, prüft ob vorhanden.
    if (!fruits.empty())
        std::cout << "Erste Frucht: " << *fruits.rbegin() << '\n';
    if (empty.rbegin() == empty.rend())
        std::cout << "Liste 'empty' ist tatsächlich leer.\n";
}

Ausgabe:

16 8 4 2 1
Summe von nums: 31
Erste Frucht: raspberry
Liste 'empty' ist tatsächlich leer.

Siehe auch

gibt einen Reverse-Iterator zum Anfang zurück
(public member function)
(C++14)
gibt einen Reverse-End-Iterator für einen Container oder ein Array zurück
(function template)