在C ++中初始化2d向量

时间:2013-10-25 12:12:46

标签: c++ vector stl 2d-vector

我知道您可以通过以下方式初始化具有某个值的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网格吗?

1 个答案:

答案 0 :(得分:7)

vector<vector<int>> vec(10, vector<int>(10, 100));
                //       n              m   value

这将创建一个10个向量大小为10的向量,并将元素初始化为100。