Freigeben über


multimap::rend

Gibt einen Iterator zurück, der den Speicherort abweicht, der dem letzten Element mit einer umgekehrten Multimap folgt.

const_reverse_iterator rend( ) const; 
reverse_iterator rend( );

Rückgabewert

Ein umgekehrter bidirektionaler Iterator, der den Speicherort abweicht, der dem letzten Element mit einer umgekehrten Multimap folgt (der Speicherort, der dem ersten Element in der umgekehrten nicht Multimap vorangestellt war).

Hinweise

rend wird mit einer umgekehrten Multimap verwendet, wie Ende mit einer Multimap verwendet wird.

Wenn const_reverse_iterator der Rückgabewert von rend zugewiesen wird, kann das multimap-Objekt nicht geändert werden.Wenn reverse_iterator der Rückgabewert von rend zugewiesen wird, kann das multimap-Objekt geändert werden.

rend kann verwendet werden, um zu testen, ob ein umgekehrter Iterator das Ende ihrer Multimaps erreicht wurde.

Der Wert, der von rend zurückgegeben wird, darf nicht dereferenziert werden.

Beispiel

// multimap_rend.cpp
// compile with: /EHsc
#include <map>
#include <iostream>

int main( )
{
   using namespace std;
   multimap <int, int> m1;

   multimap <int, int> :: iterator m1_Iter;
   multimap <int, int> :: reverse_iterator m1_rIter;
   multimap <int, int> :: const_reverse_iterator m1_crIter;
   typedef pair <int, int> Int_Pair;

   m1.insert ( Int_Pair ( 1, 10 ) );
   m1.insert ( Int_Pair ( 2, 20 ) );
   m1.insert ( Int_Pair ( 3, 30 ) );

   m1_rIter = m1.rend( );
   m1_rIter--;
   cout << "The last element of the reversed multimap m1 is "
        << m1_rIter -> first << "." << endl;

   // begin can be used to start an iteration 
   // throught a multimap in a forward order
   cout << "The multimap is: ";
   for ( m1_Iter = m1.begin( ) ; m1_Iter != m1.end( ); m1_Iter++)
      cout << m1_Iter -> first << " ";
      cout << "." << endl;

   // rbegin can be used to start an iteration 
   // throught a multimap in a reverse order
   cout << "The reversed multimap is: ";
   for ( m1_rIter = m1.rbegin( ) ; m1_rIter != m1.rend( ); m1_rIter++)
      cout << m1_rIter -> first << " ";
      cout << "." << endl;

   // A multimap element can be erased by dereferencing to its key 
   m1_rIter = --m1.rend( );
   m1.erase ( m1_rIter -> first );

   m1_rIter = m1.rend( );
   m1_rIter--;
   cout << "After the erasure, the last element "
        << "in the reversed multimap is "
        << m1_rIter -> first << "." << endl;
}
  
  
  
  

Anforderungen

Header: <map>

Namespace: std

Siehe auch

Referenz

multimap Class

Standardvorlagenbibliothek