Namespaces
Variants

std::vector<T,Allocator>::rbegin, std::vector<T,Allocator>::crbegin

Von de.cppreference.net

 
 
 
 
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 umgekehrten Iterator zum ersten Element des umgekehrten vector. Er entspricht dem letzten Element des nicht umgekehrten vector. Wenn der vector leer ist, ist der zurückgegebene Iterator gleich rend().

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 <cassert>
#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;

    // Print vector nums.
    std::for_each(nums.crbegin(), nums.crend(),
                  [](const int n) { std::cout << n << ' '; });
    std::cout << '\n';

    // Sum all integers in the vector nums, printing only the result.
    std::cout << "Sum of nums: "
              << std::accumulate(nums.crbegin(), nums.crend(), 0) << '\n';

    // Print the last fruit in the vector fruits, checking if there is any.
    if (!fruits.empty())
        std::cout << "Last fruit: " << *fruits.crbegin() << '\n';

    if (empty.crbegin() == empty.crend())
        std::cout << "vector ‘empty’ is indeed empty.\n";

    // Modify the last element in nums.
    *nums.rbegin() = 32;
    assert(*nums.crbegin() == 32);
}

Ausgabe:

16 8 4 2 1
Sum of nums: 31
Last fruit: raspberry
vector ‘empty’ is indeed empty.

Siehe auch

(C++11)
gibt einen umgekehrten Iterator zum Ende zurück
(öffentliche Elementfunktion)
gibt einen umgekehrten Iterator zum Anfang eines Containers oder Arrays zurück
(Funktionstemplate)