Condividi tramite


list::rend

Restituisce un iteratore destinato alla posizione che è l'ultimo elemento di elenco invertito.

const_reverse_iterator rend( ) const;
reverse_iterator rend( );

Valore restituito

Un iteratore bidirezionale inverso destinato alla posizione che è l'ultimo elemento di elenco invertito (la posizione che aveva precedente il primo elemento nell'elenco unreversed).

Note

rend viene utilizzato con un elenco invertito come fine viene utilizzato con un elenco.

Se il valore restituito rend viene assegnato a const_reverse_iterator, l'oggetto elenco non può essere modificato.Se il valore restituito rend viene assegnato a reverse_iterator, l'oggetto elenco può essere modificato.

rend può essere utilizzato per verificare se un iteratore inverso raggiunge la fine dell'elenco.

Il valore restituito da rend non è possibile dereferenziare.

Esempio

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

Requisiti

intestazione: <list>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

list Class

Libreria di modelli standard