Я пытаюсь понять "теорию", кроме цикла auto
над
станд :: карта
элементов в C ++.
У меня есть std::map
с std::string
как КЛЮЧ и vector<std:string>
как ЗНАЧЕНИЕ. Я могу получить доступ к его элементам с помощью:
for ( auto &element : myMap ) {
std::cout << element.first << ": " << '\t';
for ( std::string subElement : element.second ) std::cout << subElement << ", ";
}
}
Что касается цикла над элементами vector<string>
, я знаю, что мог бы поставить "auto" вместо "std :: string". Но что будет эквивалентом для карты в таком случае? Я изучал и искал вокруг, и обнаружил в этой записи , что каждый элемент карты доступен как
карта :: value_type
но как бы я это записал? Я попробовал:
for ( std::map<std::string, vector<std::string>> &pz : myMap ) {
// print ...
}
и аналогичные, но они просто не работают.