-2
您可以通過執行創建矢量:是否可以在一行中爲std :: unordered <int,std :: vector <int>>賦值一個向量<int>?
std::vector<int> v = ({1,2,3});
假設你有:
std::unordered_map<int,std::vector<int>> m;
有沒有辦法做這樣的事情:
m[1] = ({1,2,3});
即是否有辦法分配括號中的值,而不必通過先創建一個向量的兩個步驟,然後分配?
std::vector<int> v = ({1,2,3});
m[1] = v;
有沒有辦法將上面兩行壓縮成一行代碼?或者是唯一的選擇,創建一個函數,它接受的是進入載體,並返回一個矢量值:
template <class T>
std::vector<T> func2(std::initializer_list<T> list)
{
std::vector<T> v;
for(auto elem : list)
{
v.push_back(elem) ;
}
return v;
}
然後執行:
m[1] = func2({1,2,3});
@約翰:不。 – user2357112