Чтобы использовать карту карты в C++, вы можете выполнить следующие действия:
- Определение карты: создайте карту с внешним ключом в качестве типа ключа первой карты и внутренней картой в качестве отображаемого типа.
std::map<KeyType1, std::map<KeyType2, ValueType>> mapOfMap;
- Вставка элементов. Вы можете вставлять элементы в карту карты с помощью функции
operator[]илиinsert. Чтобы получить доступ к внутренней карте, вы можете использовать внешний ключ для ее получения, а затем использовать второй ключ для вставки значения.
mapOfMap[outerKey][innerKey] = value;
// or
mapOfMap.at(outerKey).insert(std::make_pair(innerKey, value));
- Доступ к элементам: вы можете получить доступ к элементам карты, используя внешние и внутренние клавиши.
ValueType value = mapOfMap[outerKey][innerKey];
- Перебор элементов. Вы можете перебирать элементы карты, используя вложенные циклы.
for (const auto& outerPair : mapOfMap) {
for (const auto& innerPair : outerPair.second) {
// Access outer key: outerPair.first
// Access inner key: innerPair.first
// Access value: innerPair.second
}
}
- Удаление элементов. Чтобы удалить элементы с карты карты, вы можете использовать функцию
eraseс внешней и внутренней клавишей.
mapOfMap.erase(outerKey);
// or
mapOfMap[outerKey].erase(innerKey);