矢量的C++矢量声明

C++ vector of vectors declaration

本文关键字:声明 C++      更新时间:2023-10-16

我真的不确定这行代码的作用。

 vector<vector<A>> someth;

这是否意味着创建了一个带有元素的向量,带有a类对象的向量?有人能解释一下吗?

感谢

是。

还要注意,在C++11:之前不支持您的语法

vector<vector<A> > someth;

是C++11之前的语法。在此之前,>>被视为移位运算符,因此在某些编译器上会出现编译器错误。

这实际上创建了一个空的vector,它可以包含vector<A>类型的对象。

是的,这会创建一个向量,其元素是元素为a对象的向量。值得注意的是,此声明仅在C++11中有效。在此之前,>>被解释为符号>>(从中读取)。它需要声明为vector<vector<A> > someth;(带空格)。

正确。基本上

someth[i]

返回一个向量。和

someth[i][j]

返回A.

需要注意的一点是,两个之间必须有一个空格。应该是

vector<vector<A> > someth;

是的,这正是它的意思,它是a的向量中的一个向量。