Partager via


multiset::rend

Retourne un itérateur qui traite l'emplacement suivant le dernier élément d'un multiset inversé.

const_reverse_iterator rend( ) const; 
reverse_iterator rend( );

Valeur de retour

Un itérateur bidirectionnel inversé const qui gère l'emplacement succédant au dernier élément d'un multiset inversé (emplacement qui avait précédé le premier élément du multiset non inversé).

Notes

rend est utilisé avec un multiset inversé tout comme fin est utilisé avec un multiset.

Si la valeur de retour de rend est assignée à const_reverse_iterator, il est impossible de modifier l'objet multiset. Si la valeur de retour de rend est assignée à un reverse_iterator, l'objet multiset peut être modifié.

Il est possible d'utiliser rend pour tester si un itérateur inverse a atteint la fin de son multiset.

La valeur retournée par rend ne doit pas être déréférencée.

Exemple

// multiset_rend.cpp
// compile with: /EHsc
#include <set>
#include <iostream>

int main() {
   using namespace std;   
   multiset <int> ms1;
   multiset <int>::iterator ms1_Iter;
   multiset <int>::reverse_iterator ms1_rIter;
   multiset <int>::const_reverse_iterator ms1_crIter;

   ms1.insert( 10 );
   ms1.insert( 20 );
   ms1.insert( 30 );

   ms1_rIter = ms1.rend( ) ;
   ms1_rIter--;
   cout << "The last element in the reversed multiset is "
        << *ms1_rIter << "." << endl;

   // end can be used to terminate an interation 
   // throught a multiset in a forward order
   cout << "The multiset is: ";
   for ( ms1_Iter = ms1.begin( ) ; ms1_Iter != ms1.end( ); ms1_Iter++ )
      cout << *ms1_Iter << " ";
   cout << "." << endl;

   // rend can be used to terminate an interation 
   // throught a multiset in a reverse order
   cout << "The reversed multiset is: ";
   for ( ms1_rIter = ms1.rbegin( ) ; ms1_rIter != ms1.rend( ); ms1_rIter++ )
      cout << *ms1_rIter << " ";
   cout << "." << endl;

   ms1_rIter = ms1.rend( );
   ms1_rIter--;
   ms1.erase ( *ms1_rIter );

   ms1_rIter = ms1.rend( );
   --ms1_rIter;
   cout << "After the erasure, the last element in the "
        << "reversed multiset is " << *ms1_rIter << "." << endl;
}

Sortie

The last element in the reversed multiset is 10.
The multiset is: 10 20 30 .
The reversed multiset is: 30 20 10 .
After the erasure, the last element in the reversed multiset is 20.

Configuration requise

En-tête: <jeu>

Espace de noms : std

Voir aussi

Référence

multiset, classe

Bibliothèque STL (Standard Template Library)