Вы должны перебрать и вложенную карту. И когда вы работаете с картами, очень удобно использовать диапазон на основе поверх структурированной привязки. Чтобы избежать этих крипт c first
и second
вещей:
for (const auto& [key1, value1] : map)
for (const auto& [key2, value2] : value1)
std::cout << key2 << " " << value2 << std::endl;
Хотя это работает только в C ++ 17. Если вы не можете использовать его, то у вас есть ответ от NutCracker.