使用pair <int,int =“”>作为map </int,>的键

时间:2013-02-22 04:05:48

标签: c++ map std-pair

基于previous question,我尝试使用一对整数作为键创建地图,即map<pair<int, int>, int>,我找到了有关如何插入的信息:

#include <iostream>
#include <map>

using namespace std;

int main ()
{
map<pair<int, int>, int> mymap;

mymap.insert(make_pair(make_pair(1,2), 3)); //edited
}   

但我似乎无法访问该元素!我已经尝试了cout << mymap[(1,2)] << endl;,但它显示错误,我无法找到有关如何使用密钥访问元素的信息。我做错了吗?

3 个答案:

答案 0 :(得分:12)

您需要一对作为密钥cout << mymap[make_pair(1,2)] << endl;您目前拥有的cout << mymap[(1,2)] << endl;语法不正确。

答案 1 :(得分:8)

mymap[make_pair(1,2)]

或者,在编译器支持下:

mymap[{1,2}]

答案 2 :(得分:0)

请找到参考代码:

#include<iostream>
#include<map>
using namespace std;


int main()
{

   map<pair<int ,int> ,int > m;
   m.insert({{1, 2}, 100});
   cout << m[{1, 2}];
}