Condividi tramite


deque::rend

Restituisce un iteratore destinato alla posizione che è l'ultimo elemento a deque invertito.

const_reverse_iterator rend( ) const; 
reverse_iterator rend( );

Valore restituito

Un iteratore di accesso casuale inverso destinato alla posizione che è l'ultimo elemento a deque inverso (la posizione che aveva preceduto il primo elemento in unreversed deque).

Note

rend utilizzato con un deque invertito come fine utilizzato con un deque.

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

rend può essere utilizzato per verificare se un iteratore inverso raggiunta la fine del relativo deque.

Non è consigliabile dereferenziare il valore restituito da rend.

Esempio

// deque_rend.cpp
// compile with: /EHsc
#include <deque>
#include <iostream>

int main( ) 
{
   using namespace std;

   deque <int> c1;
   deque <int>::iterator c1_Iter;
   deque <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
   // deque <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 deque (to point to the first element here)
   cout << "The first element in the deque is: " << *c1_rIter << endl;

   cout << "The deque 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 deque
   cout << "The reversed deque 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 deque (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 deque is: ";
   for ( c1_rIter = c1.rbegin( ); c1_rIter != c1.rend( ); c1_rIter++ )
      cout << *c1_rIter << " ";
   cout << endl;
}
  

Requisiti

Intestazione: <deque>

Spazio dei nomi: std

Vedere anche

Riferimenti

Classe deque

deque::rbegin e deque::rend

Libreria di modelli standard