簡體   English   中英

C++ 有沒有辦法使用向量的內容作為鍵和自定義值來初始化 unordered_map?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM