Что такое map в C++?
std::map в языке программирования C++ представляет собой ассоциативный контейнер, реализующий структуру данных "ключ-значение". Каждый элемент в std::map представляет пару, состоящую из ключа и связанного с ним значения. Этот контейнер входит в Standard Template Library (STL) и предоставляет эффективные операции вставки, удаления и поиска.
#include <iostream>
#include <map>
int main() {
// Создание ассоциативного массива (map) строк
std::map<int, std::string> students;
// Добавление элементов в map
students[101] = "Alice";
students[102] = "Bob";
students[103] = "Charlie";
// Поиск элемента по ключу
int studentID = 102;
if (students.find(studentID) != students.end()) {
std::cout << "Student with ID " << studentID << ": " << students[studentID] << std::endl;
} else {
std::cout << "Student with ID " << studentID << " not found." << std::endl;
}
// Итерация по элементам map
std::cout << "All students: ";
for (const auto& student : students) {
std::cout << "(" << student.first << ": " << student.second << ") ";
}
std::cout << std::endl;
return 0;
}
Основные операции с std::map:
- Добавление элементов: Элементы добавляются в
std::mapс использованием оператора[]или методаstd::map::insert(). - Поиск элементов: Поиск элементов выполняется с использованием метода
std::map::find()или оператора[]. - Удаление элементов: Метод
std::map::erase()используется для удаления элементов по ключу. - Итерация по map: Итерация может быть выполнена с использованием цикла
forили итераторов.
Комментарии