2014-11-20 50 views
-2

我试图访问我的地图键和变量:如何获取<string,vector <string>>地图的值和键?

map<string, vector<string>> Di; 

,这样我可以看到,如果值包含名称,并在这种情况下,那些关键的(数字)是该值。
我已经试过,但我只得到了这么远,我不知道从哪里何去何从:

for (auto& kv : Di) 
{ 
    bool checking = Di.find(namn) != Di.end(); 
    if (checking) 
    { 
     string key = Di.first; 
     cout<<"Number: "<<key<<endl; 
    } 
} 

回答

1

您可以循环在地图中的所有元素,然后使用关键字firstsecond到分别访问密钥和值。

for (auto const& element : Di) 
{ 
    string key = element.first; 
    vector<string> value = element.second; 
} 

如果您正在寻找在地图中特定的元素,你可以做

map<string, vector<string>>::iterator it = Di.find(name); 
if (it != end(Di) 
{ 
    vector<string> value = it->second; 
} 
相关问题