在 C++ 中解释多维向量语句时感到困惑

Dee*_*ora 0 c++ vector

我对使用 C++ 使用 2D 向量有点陌生,而且在我使用 C++ 中的 2D 向量时,我经常感到困惑。我正在浏览某人的代码,但在解释这行代码时感到困惑:

vector<vector<int>> dp(n, vector<int>(m));

这里, m 和 n 是 Grid 的行数和列数。

谁能给我详细解释一下,这句话是什么意思?

cig*_*ien 6

这一行:

vector<vector<int>> dp(n, vector<int>(m));
Run Code Online (Sandbox Code Playgroud)

被调用构造函数std::vector

对于dp,第一个参数是元素的数量,第二个参数是要插入多少次的值。

内部向量未指定参数值,它将插入默认值(0在 的情况下int)。

因此,在这种情况下,您正在创建一个带有n行的向量,其中每一行都有m元素,并且每个元素都是0