我有 3 张地图:
map<string, vector<int> > map1
map<string, vector<int> > map2
map<string, vector<int> > map3
我需要创建第三个映射,其中包含 map1 和 map2 中存在的所有字符串及其对应的向量。问题是,即使字符串相同,它们的向量也可能不同,我必须将两个公共字符串中的所有向量附加到 1 个向量中。这就是我正在尝试的,但我有点迷失:
for(map<string, vector<int> >::iterator it1=map1.begin(); it1 != map1.end(); it1++)
{
string name = (*it1).first;
for(map<string, vector<int> >::iterator it2=map2.begin(); it2 != map2.end(); it2++)
{
string name2 = (*it2).first;
if (name == name2)
{
map3[name2] = (*it2).second;
}
}
}
非常感谢你的帮助!!