Freigeben über


list::rend

Gibt ein Iterator zurück, der den Standort adressiert, der dem letzten Element in einer umgekehrten Liste nachfolgt.

const_reverse_iterator rend( ) const; 
reverse_iterator rend( );

Rückgabewert

Ein umgekehrter bidirektionaler Iterator, der den Standort anspricht, der dem letzten Element in einer umgekehrten Liste nachfolgt (der Speicherort, der dem ersten Element in der nicht umgekehrten Liste vorangegangen war).

Hinweise

rend wird bei einer umgekehrten Liste auf die gleiche Weise verwendet, wie end bei einer Liste verwendet wird.

Wenn const_reverse_iterator dem Rückgabewert von rend zugewiesen wird, kann das Listenobjekt nicht geändert werden. Wenn reverse_iterator dem Rückgabewert von rend zugewiesen wird, kann das Listenobjekt geändert werden.

rend kann verwendet werden, um zu testen, ob das Ende der Liste von einem umgekehrten Iterator erreicht wurde.

Der von rend zurückgegebene Wert darf nicht dereferenziert werden.

Beispiel

// list_rend.cpp
// compile with: /EHsc
#include <list>
#include <iostream>

int main( ) 
{
   using namespace std;
   list <int> c1;
   list <int>::iterator c1_Iter;
   list <int>::reverse_iterator c1_rIter;

   // If the following line had replaced the line above, an error would 
   // have resulted in the line modifying an element (commented below)
   // because the iterator would have been const
   // list <int>::const_reverse_iterator c1_rIter;
   
   c1.push_back( 10 );
   c1.push_back( 20 );
   c1.push_back( 30 );

   c1_rIter = c1.rend( );
   c1_rIter --;  // Decrementing a reverse iterator moves it forward in 
                 // the list (to point to the first element here)
   cout << "The first element in the list is: " << *c1_rIter << endl;

   cout << "The list is:";
   for ( c1_Iter = c1.begin( ); c1_Iter != c1.end( ); c1_Iter++ )
      cout << " " << *c1_Iter;
   cout << endl;

   // rend can be used to test if an iteration is through all of the 
   // elements of a reversed list
   cout << "The reversed list is:";
   for ( c1_rIter = c1.rbegin( ); c1_rIter != c1.rend( ); c1_rIter++ )
      cout << " " << *c1_rIter;
   cout << endl;

   c1_rIter = c1.rend( );
   c1_rIter--;  // Decrementing the reverse iterator moves it backward 
                // in the reversed list (to the last element here)

   *c1_rIter = 40;  // This modification of the last element would have 
                    // caused an error if a const_reverse iterator had 
                    // been declared (as noted above)

   cout << "The modified reversed list is:";
   for ( c1_rIter = c1.rbegin( ); c1_rIter != c1.rend( ); c1_rIter++ )
      cout << " " << *c1_rIter;
   cout << endl;
}
  

Anforderungen

Header: <Liste>

Namespace: std

Siehe auch

Referenz

list-Klasse

Standardvorlagenbibliothek