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

Индекс [] мапы

Индекс [] мапы обращается к элементу по указанному ключу. В квадратные скобки передаётся ключ, по которому нужно получить значение. Если элемента с таким ключом в мапе нет, то он автоматически создаётся со значением по умолчанию для типа значений. Это важная особенность: оператор [] никогда не выбрасывает исключение, но может неявно изменить размер мапы.

Синтаксис

map[key]

Пример

Давайте создадим мапу, добавим в неё пару элементов и обратимся к существующему ключу:

#include <iostream> #include <map> using namespace std; int main() { map<string, int> mp; mp["a"] = 1; mp["b"] = 2; cout << mp["a"] << endl; return 0; }

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

1

Пример

Давайте обратимся к несуществующему ключу. Оператор [] создаст новый элемент со значением по умолчанию, то есть с нулём для типа int:

#include <iostream> #include <map> using namespace std; int main() { map<string, int> mp; mp["a"] = 1; cout << mp["c"] << endl; cout << mp.size() << endl; return 0; }

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

0 2

Пример

Давайте используем индекс [] для изменения значения уже существующего элемента:

#include <iostream> #include <map> using namespace std; int main() { map<string, int> mp; mp["a"] = 1; mp["b"] = 2; mp["a"] = 5; cout << mp["a"] << endl; return 0; }

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

5

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

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