[英]C++ Is there a way to initialize unordered_map using contents of vector as keys and custom values?
假設我有一個向量
vector<int> vect;
vect.push_back(2);
vect.push_back(3);
現在我想要一個 unordered_map,其中 2 和 3 作為鍵,0 作為所有這些鍵的默認值。
有沒有辦法做到這一點?
我試着做
unordered_map<int, int> myMap(vect.begin(), vect.end());
希望它能以向量中的內容作為鍵和默認的 int 值進行初始化。
然而,它不能。
我的意思是,我總是可以迭代向量並手動插入對。
我只是想知道我是否可以在聲明期間將其作為一個班輪來完成。
實際上一個簡單的一個班輪就足夠了,但不是聲明:
vector<int> vect = { 2, 3, 4};
unordered_map<int,int> map;
transform(vect.begin(), vect.end(), inserter(map, map.end()), [] (int v) { return make_pair(v, 0); });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.