2つの文字列をキーとし、1つのベクトルを値として マップの値をどのように印刷できますか?以下は2つの文字列をキーとし、値としてベクトルを持つマップの値を出力する
は、誰かが私に事前
NOTEで感謝を助けることができるの悪いである私のアプローチです:私は、あなたがアクセスして、キーを印刷することができ、ベクターに
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 ??
}
}
なぜベクトルを反復して各値を印刷しないのですか? –
あなたはベクトルを反復したくないと言っていますが、そうでない場合はどのように値を取得すると思いますか?おそらく不可能なユースケースについて、より具体的に説明する必要があります。 –