插入到C ++中的multimap中映射值的对

时间:2012-06-28 04:00:50

标签: c++ stl multimap

找到这个Multimap containing pairs?,但没有多大帮助

如何将两个字符串插入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

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

2 个答案:

答案 0 :(得分:5)

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

多图不允许使用operator []进行查找,因为可能有多个匹配。

make_pair是一种创建对的简便方法,无需明确指定类型。不使用make_pair,您需要执行以下操作:

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

答案 1 :(得分:2)

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

&lt;之间的代码和&gt;表示要插入的变量的类型 - 在本例中为字符串