РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
249 of 815 menu

Метод at класса deque

Метод at класса deque возвращает ссылку на элемент двухсторонней очереди по указанному индексу. В отличие от оператора [], метод at выполняет проверку выхода за границы контейнера и генерирует исключение std::out_of_range, если индекс некорректен. В единственный параметр мы передаем позицию элемента, к которому нужно получить доступ.

Синтаксис

deque.at(pos)

Пример

Давайте получим элемент двухсторонней очереди с индексом 2 и выведем его на экран:

#include <iostream> #include <deque> using namespace std; int main() { deque<int> dq = {1, 2, 3, 4, 5}; cout << dq.at(2) << endl; return 0; }

Результат выполнения кода:

3

Пример

Метод at можно использовать для изменения элемента очереди. Давайте заменим элемент с индексом 0 на число 10:

#include <iostream> #include <deque> using namespace std; int main() { deque<int> dq = {1, 2, 3, 4, 5}; dq.at(0) = 10; for (int el : dq) { cout << el << " "; } cout << endl; return 0; }

Результат выполнения кода:

10 2 3 4 5

Пример

Если передать в метод at индекс, выходящий за границы очереди, будет сгенерировано исключение. Давайте обработаем его с помощью конструкции try-catch:

#include <iostream> #include <deque> #include <stdexcept> using namespace std; int main() { deque<int> dq = {1, 2, 3, 4, 5}; try { cout << dq.at(10) << endl; } catch (const out_of_range& e) { cout << "Error: " << e.what() << endl; } return 0; }

Результат выполнения кода:

Error: deque::_M_range_check: __n (which is 10) >= this->size() (which is 5)

Смотрите также

  • класс deque,
    который представляет двухстороннюю очередь
  • метод size,
    который возвращает количество элементов очереди
  • метод push_back,
    который добавляет элемент в конец очереди
  • метод pop_front,
    который удаляет первый элемент очереди
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить