deque::rend

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

const_reverse_iterator rend( ) const; 
reverse_iterator rend( );

Rückgabewert

Ein Rückiterator mit wahlfreier Zugriff, der den Speicherort abweicht, der dem letzten Element mit einer umgekehrten Doppelschlange folgt (der Speicherort, der dem ersten Element in der umgekehrten nicht Doppelschlange vorangestellt war).

Hinweise

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

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

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

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

Beispiel

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

Anforderungen

Header: <deque>

Namespace: std

Siehe auch

Referenz

deque Class

deque::rbegin und deque::rend

Standardvorlagenbibliothek