[英]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.