Unordered Map в C++: синтаксис и использование
Unordered map в C++ является контейнером, который представляет собой ассоциативный массив. В unordered map каждый элемент состоит из пары ключ-значение. Ключ - это уникальный идентификатор, который используется для доступа к значению элемента. Значение - это фактическое содержимое элемента. Преимущество таких ассоциативных контейнеров в том, что они могут быть очень эффективным подходом для поиска и доступа к значениям в больших объемах данных.
Пример использования unordered map в C++:
c++
#include
#include
int main() {
// создаем unordered map с ключом типа int и значением типа string
std::unordered_map map;
// добавляем пары ключ-значение в unordered map
map.insert({1, "один"});
map.insert({2, "два"});
map.insert({3, "три"});
// выводим значение элемента с ключом 2
std::cout << map.at(2) << "\n"; // результат: два
// проверяем наличие элемента с ключом 4
if (map.find(4) != map.end())
std::cout << map.at(4) << "\n";
else
std::cout << "Ключ 4 не найден\n"; // результат: Ключ 4 не найден
// перебираем все пары ключ-значение в unordered map
for (const auto& pair : map)
std::cout << pair.first << " -> " << pair.second << "\n";
// результат:
// 1 -> один
// 2 -> два
// 3 -> три
return 0;
}
В этом примере мы создаем unordered map с помощью std::unordered_map. Затем мы добавляем элементы в unordered map, используя метод insert(). Мы также демонстрируем, как получить значение конкретного элемента по ключу, используя метод at(). Если элемента с данным ключом нет в unordered map, то метод find() вернет итератор на элемент, следующий за последним элементом в unordered map — это значение map.end(). В конце мы перебираем все пары ключ-значение в unordered map, используя цикл for-each.