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