at
Da cppreference.com.
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 []