【问题标题】:Initialzing a 2d vector in C++在 C++ 中初始化二维向量
【发布时间】:2013-11-04 13:20:10
【问题描述】:

我知道您可以通过以下方式用某个值初始化一维向量:

vector<int> vec(10, 100); //creates a vector of size 10 and each element = 100

现在我想用二维向量做同样的事情。我知道以下内容会出错,因为未指定列的大小:

vector<vector<int> > vec(10, 100);

那么,有没有办法做到这一点?另外,我想保持 2d 向量(即 nxn 网格)中每个向量的列大小相同。

或者也许我可以以某种方式使用“std::fill()”函数来完成这个?这个功能可以扩展到 nxm 网格吗?

【问题讨论】:

  • “2D 向量”是向量的向量。所以如果你知道如何初始化一个向量,你就知道如何初始化一个向量的向量。
  • 你可以使用boost::multi_array

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


【解决方案1】:
vector<vector<int>> vec(10, vector<int>(10, 100));
                //       n              m   value

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

【讨论】:

    猜你喜欢
    • 2021-10-02
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-20
    • 1970-01-01
    • 2011-05-04
    相关资源
    最近更新 更多