C++ C++;二维向量声明

C++ C++;二维向量声明,c++,vector,2d-vector,C++,Vector,2d Vector,我正在做作业,我看到了这个向量声明。我试图在谷歌上找到它,但还是听不懂。这是: vector<vector<int>>res = vector<vector<int>>(n,vector<int>(n,0)); 向量=向量(n,向量(n,0)); 我知道向量是2D向量,但我不明白后面的部分是向量(n,向量(n,0))你也可以这样写: vector<vector<int>>res(n,vector&l

我正在做作业,我看到了这个向量声明。我试图在谷歌上找到它,但还是听不懂。这是:

     vector<vector<int>>res = vector<vector<int>>(n,vector<int>(n,0));
向量=向量(n,向量(n,0));
我知道向量是2D向量,但我不明白后面的部分是向量(n,向量(n,0))

你也可以这样写:

vector<vector<int>>res(n,vector<int>(n,0));
向量(n,向量(n,0));
这意味着您有n个
向量
,其中每个向量都有初始化为
0
n
元素。您也可以这样写:

vector<vector<int>>res(n,vector<int>(n,0));
向量(n,向量(n,0));
这意味着当您编写
vectorres=vector(n,vector(n,0))
时,有n个
vector
,其中每个
n
元素初始化为
0

,右侧表示您正在创建一个大小为
n
的向量,其中每个元素都是大小为
n
的向量,其中所有元素都是0。
=
之后的第一个
n
声明
n
类型的向量
向量。第二部分,即
向量(n,0)
声明大小为
n
的向量,并用零填充所有
n
元素。因此,第一部分将声明大小为
n
n
的向量,并将所有零作为元素。您实际上不需要这样做,您可以编写
vector res(n,vector(n,0))
res
vector
type的值,“=”是赋值运算符,
vector(n,vector(n,0))
是调用构造函数的
向量
类初始化的对象。正在发生的事情:(将从右到左读取语句),创建了
vector
类型的临时变量,然后将其分配(复制)到相同类型的
res
变量。我得到了它,谢谢大家!!当您编写
vectorres=vector(n,vector(n,0))
时,右侧表示您正在创建一个大小为
n
的向量,其中每个元素都是大小为
n
的向量,其中所有元素都是0。
=/code>之后的第一个
n
声明
n
类型的向量。第二部分,即
向量(n,0)
声明大小为
n
的向量,并用零填充所有
n
元素。因此,第一部分将声明大小为
n
n
的向量,并将所有零作为元素。您实际上不需要这样做,您可以编写
vector res(n,vector(n,0))
res
vector
type的值,“=”是赋值运算符,
vector(n,vector(n,0))
是调用构造函数的
向量
类初始化的对象。正在发生的事情:(将从右到左读取语句),创建了
vector
类型的临时变量,然后将其分配(复制)到相同类型的
res
变量。我得到了它,谢谢大家!!