我知道您可以通过以下方式初始化具有某个值的1d向量:
vector<int> vec(10, 100); //creates a vector of size 10 and each element = 100
现在我想用2d矢量做同样的事情。我知道以下内容会产生错误,因为未指定列的大小:
vector<vector<int> > vec(10, 100);
那么,有没有办法实现这个目标?另外,我想保持2d向量中每个向量的列大小相同(即nxn网格)。
或许我可以用某种方式使用“std :: fill()”函数来实现这个目的?这个功能可以扩展到nxm网格吗?
答案 0 :(得分:7)
vector<vector<int>> vec(10, vector<int>(10, 100));
// n m value
这将创建一个10个向量大小为10的向量,并将元素初始化为100。