【发布时间】:2019-06-17 03:06:20
【问题描述】:
我试图理解除了auto 循环之外的“理论”
std::map
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”。但是在这种情况下,地图的等价物是什么?我研究并四处搜索,我在that post 中发现每个地图元素都作为一个
地图
::value_type
但是我该怎么写呢?我试过了:
for ( std::map<std::string, vector<std::string>> &pz : myMap ) {
// print ...
}
和类似的,但它们只是不起作用。
【问题讨论】:
标签: c++ c++11 dictionary stdmap auto