Partilhar via


basic_string::rend

Retorna um iterador que a fim de atender ao local que tem êxito o elemento o mais recente em uma cadeia de caracteres invertida.

const_reverse_iterator rend( ) const;
reverse_iterator rend( );

Valor de retorno

Um iterador de acesso aleatório invertido que a fim de atender ao local que tem êxito o elemento o mais recente em uma cadeia de caracteres invertida.

Comentários

rend é usada com uma cadeia de caracteres invertida da mesma maneira que extremidade é usado com uma cadeia de caracteres.

Se o valor de retorno de rend é atribuído a const_reverse_iterator, o objeto de cadeia de caracteres não pode ser alterado. Se o valor de retorno de rend é atribuído a reverse_iterator, o objeto de cadeia de caracteres pode ser alterado.

rend pode ser usado para testar se um iterador invertido um chegou ao final da cadeia de caracteres.

O valor retornado por rend não deve ter a referência cancelada.

Exemplo

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

Requisitos

Cabeçalho: <cadeia de caracteres>

Namespace: std

Consulte também

Referência

Classe basic_string