Traduzioni di questa pagina?:

at

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 []