std::vector<T,Allocator>:: rend, std::vector<T,Allocator>:: crend
|
reverse_iterator rend
(
)
;
|
(1) |
(noexcept seit C++11)
(constexpr seit C++20) |
|
const_reverse_iterator rend
(
)
const
;
|
(2) |
(noexcept seit C++11)
(constexpr seit C++20) |
|
const_reverse_iterator crend
(
)
const
noexcept
;
|
(3) |
(seit C++11)
(constexpr seit C++20) |
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.
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 <vector> int main() { std::vector<int> nums{1, 2, 4, 8, 16}; std::vector<std::string> fruits{"orange", "apple", "raspberry"}; std::vector<char> empty; // Vektor ausgeben. std::for_each(nums.rbegin(), nums.rend(), [](const int n) { std::cout << n << ' '; }); std::cout << '\n'; // Summiert alle Ganzzahlen im Vektor nums (falls vorhanden) und gibt nur das Ergebnis aus. std::cout << "Summe von nums: " << std::accumulate(nums.rbegin(), nums.rend(), 0) << '\n'; // Gibt die erste Frucht im Vektor fruits aus und prüft, ob eine vorhanden ist. if (!fruits.empty()) std::cout << "Erste Frucht: " << *fruits.rbegin() << '\n'; if (empty.rbegin() == empty.rend()) std::cout << "Vektor 'empty' ist tatsächlich leer.\n"; }
Ausgabe:
16 8 4 2 1 Summe von nums: 31 Erste Frucht: raspberry Vektor 'empty' ist tatsächlich leer.
Siehe auch
|
(C++11)
|
gibt einen Reverse-Iterator zum Anfang zurück
(öffentliche Elementfunktion) |
|
(C++14)
|
gibt einen Reverse-End-Iterator für einen Container oder ein Array zurück
(Funktionstemplate) |