Sintaxe:
#include <string> charT& at( size_type loc ); const charT& at( size_type loc ) const;
A função at() devolve o caracter na string na posição loc. A função at() é mais segura que o operador [], porque não o deixa referenciar items após o fim da string.
Por exemplo, considere o seguinte código:
string s("abcdef"); for( int i = 0; i < 10; i++ ) { cout << "Element " << i << " is " << s[i] << endl; }
Este código ultrapassa o fim da string, produzindo resultados potencialmente perigosos. O código seguinte seria bastante mais seguro:
string s("abcdef"); for( int i = 0; i < 10; i++ ) { cout << "Element " << i << " is " << s.at(i) << endl; }
Em vez de tentar ler lixo da memória, a função at() irá perceber que está prestes a ultrapassar o fim da string e lançará uma excepção.
Tópicos Relacionados: [] operator