Перевод этой страницы?:

at

Синтаксис:

    #include <string>
    charT& at( size_type loc );
    const charT& at( size_type loc ) const;

Функция at() возвращает символ строки с индексом loc. Функция at() безопаснее чем оператор [], потому что она не позволит вам обратиться к символам строки, стоящим после конца этой строки.

Например, рассмотрите следующий код:

   string s("abcdef");
   for( int i = 0; i < 10; i++ ) {
     cout << "Element " << i << " is " << s[i] << endl;
   }

В этом коде происходит выход за границы строки, что может привести к потенциально опасным результатам. Следующий код намного безопаснее:

   string s("abcdef");
   for( int i = 0; i < 10; i++ ) {
     cout << "Element " << i << " is " << s.at(i) << endl;
   }

Вместо попытки прочитать некорректные данные из памяти, функция at() определит, что это выход за границы строки и выдаст ошибку.

Смотрите также: оператор []