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

Метод at

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

Синтаксис

map.at(key)

Пример

Давайте создадим словарь с парами чисел и выведем значение по ключу 2:

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

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

"b"

Пример

Давайте попробуем обратиться по ключу 5, которого нет в словаре, и перехватим исключение:

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

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

"Key not found"

Пример

Давайте изменим значение элемента через ссылку, возвращаемую методом at:

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

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

"z"

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

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