Freigeben über


list::rend

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

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 Liste folgt (der Speicherort, der dem ersten Element in der Liste nicht umgekehrten vorangestellt war).

Hinweise

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

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

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

Der Wert, der von rend zurückgegeben wird, 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: <list>

Namespace: std

Siehe auch

Referenz

list Class

Standardvorlagenbibliothek