如何在 C++ 中创建 int 2D 数组的向量

how to create a vector of int 2D array in c++

本文关键字:2D 数组 向量 int 创建 C++      更新时间:2023-10-16

>我正在尝试在 c++ 中创建 int 2D 数组的向量但是我的以下代码有一些错误,我不知道为什么?!

vector< int[2][2] > vec;
int a[2][2];
vec.push_back(a);

我不想在我的 vetor 中使用 int ** int(并使用 new 创建一个 2D 数组)

而且我知道每个 2D 数组只有 2 列和行(大小是静态的)

那么有没有办法实现该向量呢?

我也尝试push_back一个数组给Vecotr,但它也没有成功! 为什么?

vector< int[2] > vec;
int a[2];
vec.push_back(a);

提前致谢

本机数组不可复制、移动或分配,因此它们不能存储在标准容器中。

但是,包装器std::array<T,N>,因此std::vector<std::array<std::array<int, 2>, 2> >是执行所需操作的一种方法。

您可以通过以下方式创建 2D 矢量: std::vector <std::vector <data_type> > vector_name

注意:在 C++03 中,>> 之间必须有一个空格。