[英]Insert a pair key in map
在地图中插入一对的方法是:
std::map<char,int> mymap;
// first insert function version (single parameter):
mymap.insert ( std::pair<char,int>('a',100) );
但现在我正在尝试将其插入地图中:
map<pair<int,int>, int> map1; //(pair is the key and int is a value)
我试过这个:
pair<int,int> p;
p.first = 5;
p.second = 20;
map1.insert(pair<int,int>,double> (p,0));
那么,我该怎么做呢?
如果需要,您可以手动定义和填充pair
,但使用make_pair
或(自 C++17 起) pair
的推导指南更常见和惯用:
map1.insert(std::make_pair(std::make_pair(5,20),0));
map1.insert(std::pair{std::pair{5,20},0}); // C++17 or later
这有很多可能性。 您可以选择以下任何一个更适合您的。
- 使用 make_pair
map<pair<int,int>, int> m;
m.insert(make_pair(make_pair(5,20), 0));
- 使用大括号
map<pair<int,int>, int> m;
m.insert({{5,20}, 0});
- 首先声明一个 C++ 对
pair<int,int> p(5,20);
map<pair<int,int>, int> m;
m.insert(make_pair(p, 0));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.