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

at

Синтаксис:

    #include <deque>
    T& at( size_type loc );
    const T& at( size_type loc ) const;

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

Рассмотрим, например, такой код:

   deque<int> v( 5, 1 );
   for( int i = 0; i < 10; i++ ) {
     cout << "Элемент " << i << " - " << dq[i] << endl;
   }

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

   deque<int> v( 5, 1 );
   for( int i = 0; i < 10; i++ ) {
     cout << "Элемент " << i << " - " << dq.at(i) << endl;
   }

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

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