Freigeben über


basic_string::rend

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

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 Zeichenfolge.

Hinweise

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

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

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

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

Beispiel

// basic_string_rend.cpp
// compile with: /EHsc
#include <string>
#include <iostream>

int main( )
{
   using namespace std;
   string str1 ("Able was I ere I saw Elba"), str2;
   basic_string <char>::reverse_iterator str_rIter, str1_rIter, str2_rIter;
   basic_string <char>::const_reverse_iterator str1_rcIter;

   str1_rIter = str1.rend ( );
   str1_rIter--;
   cout << "The last character-letter of the reversed string str1 is: "
        << *str1_rIter << endl;
   cout << "The full reversed string str1 is:\n ";
   for ( str_rIter = str1.rbegin( ); str_rIter != str1.rend( ); str_rIter++ )
      cout << *str_rIter;
   cout << endl;

   // The dereferenced iterator can be used to modify a character
    *str1_rIter = 'o';
   cout << "The last character-letter of the modified str1 is now: "
        << *str1_rIter << endl;
   cout << "The full modified reversed string str1 is now:\n ";
   for ( str_rIter = str1.rbegin( ); str_rIter != str1.rend( ); str_rIter++ )
      cout << *str_rIter;
   cout << endl;

   // The following line would be an error because iterator is const
   // *str1_rcIter = 'T';

   // For an empty string, end is equivalent to begin
   if ( str2.rbegin( ) == str2.rend ( ) )
      cout << "The string str2 is empty." << endl;
   else
      cout << "The stringstr2  is not empty." << endl;
}
  

Anforderungen

Header: <string>

Namespace: std

Siehe auch

Referenz

basic_string Class