Freigeben über


multiset::rend

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

const_reverse_iterator rend( ) const; 
reverse_iterator rend( );

Rückgabewert

Ein umgekehrter bidirektionaler Iterator, der den Speicherort abweicht, der dem letzten Element mit einem umgekehrten Multiset folgt (der Speicherort, der dem ersten Element nicht im umgekehrten Multiset vorangestellt war).

Hinweise

rend wird mit einem umgekehrten Multiset verwendet, wie Ende mit einem Multiset verwendet wird.

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

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

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

Beispiel

// 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;
}

Output

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.

Anforderungen

Header: <set>

Namespace: std

Siehe auch

Referenz

multiset Class

Standardvorlagenbibliothek