C++ 如何使用c+中的new查询只有一个指针的动态二维数组+;

C++ 如何使用c+中的new查询只有一个指针的动态二维数组+;,c++,arrays,multidimensional-array,dynamic,2d,C++,Arrays,Multidimensional Array,Dynamic,2d,我阅读了2D数组以及如何分配和获取stackoverflow上的值。因此,建议只分配一块内存,如下所示: int *ary = new int[sizeX*sizeY]; 要这样做: ary[i*sizeX+j] 但是让我们假设sizeX是2,sizeY是3,那么对于位置i=0&j=2和i=1&j=0,我们将得到相同的值,对于它们中的每一个都是值2,因为0*2+2=2和1*2+0=2,所以我们看到在数组中调用相同的变量,但是我们需要不同的位置。我是否遗漏了什么,或者有没有关于如何纠正的建议?

我阅读了2D数组以及如何分配和获取stackoverflow上的值。因此,建议只分配一块内存,如下所示:

int *ary = new int[sizeX*sizeY];
要这样做:

ary[i*sizeX+j]
但是让我们假设sizeX是2,sizeY是3,那么对于位置i=0&j=2和i=1&j=0,我们将得到相同的值,对于它们中的每一个都是值2,因为0*2+2=2和1*2+0=2,所以我们看到在数组中调用相同的变量,但是我们需要不同的位置。我是否遗漏了什么,或者有没有关于如何纠正的建议?
提前谢谢你

您应该将
i
乘以第二维度的大小,因此如果
sizeX
为2,则
j=2
不存在。假设X是第一个维度,Y是第二个维度,您将需要执行
i*sizeY+j

非常感谢!