我们说我有一个向量
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值进行初始化。
然而,它无法实现。
我的意思是,我总是可以迭代向量并手动插入对。
我只是想知道我是否可以在声明期间将其作为一个班轮。
答案 0 :(得分:1)
实际上,一个简单的衬垫就足够了,但不是声明:
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); });