Compartir a través de


basic_string::at

Proporciona una referencia al carácter con un índice especificado en una cadena.

const_reference at(
    size_type _Off
) const;
reference at(
    size_type _Off
);

Parámetros

  • _Off
    El índice de la posición del elemento que se haga referencia.

Valor devuelto

Una referencia al carácter de la cadena en la posición especificada por el índice del parámetro.

Comentarios

El primer elemento de cadena tiene un índice de cero y elementos siguientes están indizados consecutivamente por enteros positivos, para que una cadena de n de longitud tenga un enésimoelemento indizada por n de número 1.

El miembro operator [] es más rápida que la función en miembro para proporcionar el acceso de lectura y escritura a los elementos de una cadena.

El miembro operator[] no comprueba si el índice pasado como parámetro es válido pero la función en miembro realiza y lo que debe utilizarse si validez no es segura.Un índice no válido, que es un índice menos que pone a cero o mayor o igual que el tamaño de la cadena, pasado a la función en miembro produce una excepción de clase de out_of_range .Un índice no válido pasado a operator[] produce un comportamiento indefinido, pero el índice igual a la longitud de la cadena es un índice válido para cadenas const y el operador devuelve el nulo-carácter cuando se pasa este índice.

La referencia devuelta se puede reemplazar por reasignaciones o modificaciones de la cadena para cadenas no deconst .

Ejemplo

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

int main( )
{
   using namespace std;
   string str1 ( "Hello world" ), str2 ( "Goodbye world" );
   const string  cstr1 ( "Hello there" ), cstr2 ( "Goodbye now" );
   cout << "The original string str1 is: " << str1 << endl;
   cout << "The original string str2 is: " << str2 << endl;

   // Element access to the non const strings
   basic_string <char>::reference refStr1 = str1 [6];
   basic_string <char>::reference refStr2 = str2.at ( 3 );

   cout << "The character with an index of 6 in string str1 is: "
        << refStr1 << "." << endl;
   cout << "The character with an index of 3 in string str2 is: "
        << refStr2 << "." << endl;

   // Element access to the const strings
   basic_string <char>::const_reference crefStr1 = cstr1 [ cstr1.length ( ) ];
   basic_string <char>::const_reference crefStr2 = cstr2.at ( 8 );

   if ( crefStr1 == '\0' )
      cout << "The null character is returned as a valid reference."
           << endl;
   else
      cout << "The null character is not returned." << endl;
   cout << "The character with index 8 in the const string cstr2 is: "
        << crefStr2 << "." << endl;
}

Output

The original string str1 is: Hello world
The original string str2 is: Goodbye world
The character with an index of 6 in string str1 is: w.
The character with an index of 3 in string str2 is: d.
The null character is returned as a valid reference.
The character with index 8 in the const string cstr2 is: n.

Requisitos

encabezado: <cadena>

espacio de nombres: std

Vea también

Referencia

basic_string Class