std::deque<T,Allocator>::rend, std::deque<T,Allocator>::crend
Von cppreference.com
| 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.
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
Führen Sie diesen Code aus
#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
| (C++11) |
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) |