Namensräume
Varianten
Aktionen

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

Von cppreference.com
< cpp‎ | container‎ | deque
 
 
 
 
reverse_iterator rend();
(1) (noexcept seit C++11)
const_reverse_iterator rend() const;
(2) (noexcept seit C++11)
const_reverse_iterator crend() const noexcept;
(3) (seit C++11)

Gibt einen Reverse-Iterator zurück, der auf das Element nach dem letzten Element des umgekehrten deque zeigt. Dieses Element entspricht dem Element, das dem ersten Element des nicht umgekehrten deque vorangeht. Dieses Element dient als Platzhalter, der Versuch, darauf zuzugreifen, führt zu undefiniertem Verhalten.

range-rbegin-rend.svg

Inhalt

[edit] Rückgabewert

Reverse-Iterator auf das Element, das dem letzten Element folgt.

[edit] Komplexität

Konstant.

Anmerkungen

libc++ backports crend() in den C++98-Modus.

[edit] Beispiel

#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";
}

Ausgabe

16 8 4 2 1
Sum of nums: 31
First fruit: raspberry
deque 'empty' is indeed empty.

[edit] Siehe auch

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