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

Метод at

Метод at класса unordered_map возвращает ссылку на значение, связанное с указанным ключом. В единственный параметр мы передаем ключ, по которому нужно найти элемент. Если элемент с таким ключом отсутствует в контейнере, метод выбрасывает исключение std::out_of_range.

Метод имеет две версии: для неконстантного и константного объекта. Первая возвращает mapped_type&, вторая - const mapped_type&.

Синтаксис

umap.at(key)

Пример

Давайте создадим unordered_map с парами "a" - 1, "b" - 2, "c" - 3 и получим значение по ключу "b":

#include <iostream> #include <unordered_map> using namespace std; int main() { unordered_map<string, int> umap = { {"a", 1}, {"b", 2}, {"c", 3} }; cout << umap.at("b") << endl; return 0; }

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

2

Пример

Давайте изменим значение элемента по ключу "a" через метод at:

#include <iostream> #include <unordered_map> using namespace std; int main() { unordered_map<string, int> umap = { {"a", 1}, {"b", 2}, {"c", 3} }; umap.at("a") = 10; cout << umap.at("a") << endl; return 0; }

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

10

Пример

Давайте попробуем получить значение по ключу "d", которого нет в контейнере, и обработаем исключение:

#include <iostream> #include <unordered_map> #include <stdexcept> using namespace std; int main() { unordered_map<string, int> umap = { {"a", 1}, {"b", 2}, {"c", 3} }; try { cout << umap.at("d") << endl; } catch (const out_of_range& e) { cout << "Key not found" << endl; } return 0; }

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

"Key not found"

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

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