Sintassi:
#include <string> char& at( size_type loc ); const char& at( size_type loc ) const;
La funzione at()
ritorna il carattere della stringa corrente situato all'indice specificato dal parametro loc.
La funzione at()
e' piu' sicura dell'operatore []
perche' non permette di referenziare posizioni poste oltre la lungheza della stringa.
Ad esempio, consideriamo il seguente codice:
string s("abcdef"); for( int i = 0; i < 10; i++ ) { cout << "Element " << i << " is " << s[i] << endl; }
Esso supera la fine della stringa, generando un risultato potenzialmente pericoloso. Il codice del seguente esempio e' invece molto piu' sicuro:
string s("abcdef"); for( int i = 0; i < 10; i++ ) { cout << "Element " << i << " is " << s.at(i) << endl; }
Invece di cercare di leggere valori inconsistenti dalla memoria, la funzione at()
si accorge del fatto che la fine della stringa viene superato e genera una eccezione.
Argomenti correlati: operatore []