Namespaces
Variants

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

From cppreference.net

reverse_iterator rbegin ( ) ;
(1) (noexcept depuis C++11)
(constexpr depuis C++26)
const_reverse_iterator rbegin ( ) const ;
(2) (noexcept depuis C++11)
(constexpr depuis C++26)
const_reverse_iterator crbegin ( ) const noexcept ;
(3) (depuis C++11)
(constexpr depuis C++26)

Retourne un itérateur inverse vers le premier élément du conteneur inversé * this . Il correspond au dernier élément du conteneur non inversé * this .

Si * this est vide, l'itérateur retourné est égal à rend() .

range-rbegin-rend.svg

Table des matières

Valeur de retour

Itérateur inverse vers le premier élément.

Complexité

Constante.

Notes

L' itérateur sous-jacent de l'itérateur inverse retourné est l' itérateur de fin . Par conséquent, l'itérateur retourné est invalidé si et lorsque l'itérateur de fin est invalidé.

libc++ rétroporte crbegin() au mode C++98.

Exemple

#include <algorithm>
#include <iostream>
#include <numeric>
#include <string>
#include <list>
int main()
{
    std::list<int> nums{1, 2, 4, 8, 16};
    std::list<std::string> fruits{"orange", "apple", "raspberry"};
    std::list<char> empty;
    // Afficher la liste.
    std::for_each(nums.rbegin(), nums.rend(), [](const int n) { std::cout << n << ' '; });
    std::cout << '\n';
    // Additionne tous les entiers dans la liste nums (s'il y en a), affichant uniquement le résultat.
    std::cout << "Somme de nums : "
              << std::accumulate(nums.rbegin(), nums.rend(), 0) << '\n';
    // Affiche le premier fruit dans la liste fruits, en vérifiant s'il y en a.
    if (!fruits.empty())
        std::cout << "Premier fruit : " << *fruits.rbegin() << '\n';
    if (empty.rbegin() == empty.rend())
        std::cout << "La liste 'empty' est effectivement vide.\n";
}

Sortie :

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

Voir aussi

(C++11)
retourne un itérateur inverse vers la fin
(fonction membre publique)
retourne un itérateur inverse vers le début d'un conteneur ou d'un tableau
(fonction template)