插入到C++多重映射中映射值的对中

Insertion into pair that is mapped value in multimap in C++

本文关键字:映射 C++ 插入      更新时间:2023-10-16

发现这个包含对的多重映射?,但它没有多大帮助

如何将两个字符串插入pair?下面,我的两次失败尝试。

multimap<string, pair<string,string> > mymm;
mymm["Alex"] = std::pair<"000","000">; //errors
mymm.insert(pair<string, pair<string, string> > 
           ("Alex", std::pair<"000","000">); // errors out as well

我正在使用Visual Studio 2010,32位。谢谢!

mymm.insert(make_pair("Alex",make_pair("000","000")));

多重映射不允许使用运算符 [] 进行查找,因为可能存在多个匹配项。

make_pair 是一种无需显式指定类型即可创建对的便捷方法。 如果不使用 make_pair,则需要执行以下操作:

mymm.insert(pair<string,pair<string,string> >("Alex",pair<string,string>("000","000")));

std::pair<string,string>("000","000")应该这样做。

包含在<和>之间的代码指示要插入的变量的类型 - 在本例中为字符串