std::vector<T,Allocator>:: rbegin, std::vector<T,Allocator>:: crbegin
|
reverse_iterator rbegin
(
)
;
|
(1) |
(noexcept seit C++11)
(constexpr seit C++20) |
|
const_reverse_iterator rbegin
(
)
const
;
|
(2) |
(noexcept seit C++11)
(constexpr seit C++20) |
|
const_reverse_iterator crbegin
(
)
const
noexcept
;
|
(3) |
(seit C++11)
(constexpr seit C++20) |
Gibt einen Reverse-Iterator zum ersten Element des umgekehrten * this zurück. Es entspricht dem letzten Element des nicht-umgekehrten * this .
Wenn * this leer ist, ist der zurückgegebene Iterator gleich rend() .
Inhaltsverzeichnis |
Rückgabewert
Umgekehrter Iterator zum ersten Element.
Komplexität
Konstante.
Hinweise
Der zugrundeliegende Iterator des zurückgegebenen Reverse-Iterators ist der End-Iterator . Daher wird der zurückgegebene Iterator ungültig, wenn und falls der End-Iterator ungültig wird.
libc++ portiert
crbegin()
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 umgekehrten Iterator zum Ende zurück
(öffentliche Elementfunktion) |
|
(C++14)
|
gibt einen umgekehrten Iterator zum Anfang eines Containers oder Arrays zurück
(Funktionstemplate) |