basic_string::operator

Fornisce un riferimento a carattere con un indice specificato in una stringa.

const_reference operator[](
   size_type _Off
) const;
reference operator[](
   size_type _Off
);

Parametri

  • _Off
    L'indice della posizione dell'elemento da fare riferimento.

Valore restituito

Un riferimento a carattere della stringa nella posizione specificata dall'indice di parametro.

Note

Il primo elemento della stringa ha un indice zero e gli elementi vengono indicizzati consecutivamente da numeri interi positivi, in modo che una stringa di lunghezza più livelli include unelemento l'noindicizzato dal numero n - 1.

operator[] è più veloce della funzione membro in per fornire letti e l'accesso in scrittura agli elementi di una stringa.

operator[] non controlla se l'indice passato come parametro sia valido, ma la funzione membro in fa e pertanto deve essere utilizzata nella validità non è determinata.Un indice non valido (un indice più minore di zero o maggiore o uguale alla dimensione della stringa) passato alla funzione membro in genera un'eccezione classe di out_of_range.Un indice non valido ha passato a operator[] i risultati nel comportamento indefinito, ma l'indice uguale alla lunghezza della stringa è un valore valido per le stringhe const e l'operatore restituisce il carattere null una volta passato a questo indice.

Il riferimento restituito può essere invalidata dagli riallocazioni o modifica delle stringhe per le stringhe non diconst.

Durante la compilazione con _SECURE_SCL 1, un errore di runtime si verifica se si tenta di accedere a un elemento di fuori dei limiti della stringa.Per ulteriori informazioni, vedere Iteratori verificati.

Esempio

// basic_string_op_ref.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 of 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 of 8 in the const string cstr2 is: n.

Requisiti

intestazione: <string>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

basic_string Class