【发布时间】:2017-06-18 20:34:56
【问题描述】:
我有一张地图,它有两个字符串作为键,一个向量作为值 如何打印地图的值。
以下是我的方法不好,有人可以帮助我提前谢谢
注意:我想按键打印而不是在向量上迭代
int main()
{
vector<string>value;
std::map<std::pair<string,string> ,vector<string>> myMap;
string input1,input2,MyvectorValue;
for(int i=0;i<5;++i)
{
cin>>input1;
cin>>input2;
cin>>MyvectorValue;
myMap[std::make_pair(input1,input2)].push_back(MyvectorValue);
}
int j=0;
for( auto it = myMap.begin(); it != myMap.end(); ++it )
{
std::vector<std::string>& value = it->second.at(j++);
cout<<value // This is bad
//how can i print all map value ??
}
}
【问题讨论】:
-
为什么不迭代向量并打印每个值?
-
您一直说您不想迭代向量,但如果您不这样做,您希望如何获得这些值?您需要更具体地了解您的(也许是不可能的)用例。
标签: c++ loops dictionary vector io