-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