我需要一个2_dimensional数组在c++中,它从用户那里获取维度。如何在2_dimensional中定义int c++数组?我找到了定义1_dimensional数组的东西,然后在每个元素中定义了其他数组。就像这样:
int **ary = new int[sizeY];
for (int i = 0; i < sizeY; i++)
ary[i] = new int[sizeX]; 还有其他简单的方法吗?
发布于 2014-04-23 20:11:57
您应该使用向量的向量在c++中执行二维数组。
std::vector< std::vector<int> > myarray;
for(int i = 0; i < sizeY; i++)
{
myarray.push_back(std::vector<int>());
for(int j = 0; j < sizeX; j++)
{
myarray[i].push_back(0);
}
}您可以使用myarrayy访问元素。
发布于 2014-04-23 20:15:22
std::vector<std::vector<int>> myarray(sizeY, std::vector<int>(sizeX));发布于 2014-04-23 20:16:22
对我来说,最简单的方法是使用向量。使用它,您可以编写如下代码:
vector< vector<int> > arr(rows, vector<int>(cols, 0));这将创建一个新的2d向量,您可以使用类似数组。据我所知,这种方法更可取,因为您不必考虑释放内存。
https://stackoverflow.com/questions/23254189
复制相似问题