我需要一个c ++中的2_dimensional数组,它从用户那里获取维度。如何在c ++中定义int 2_dimensional数组?我找到了定义1_dimensional数组然后在每个元素中定义其他数组的东西。像这样:
int **ary = new int[sizeY];
for (int i = 0; i < sizeY; i++)
ary[i] = new int[sizeX];
还有其他简单方法吗?
答案 0 :(得分:3)
std::vector<std::vector<int>> myarray(sizeY, std::vector<int>(sizeX));
答案 1 :(得分:0)
您应该使用向量的向量在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);
}
}
您可以使用myarray [y] [x]
访问您的元素答案 2 :(得分:0)
对我来说,最简单的方法是使用vector。有了它,您可以编写如下代码:
vector< vector<int> > arr(rows, vector<int>(cols, 0));
这将创建一个新的2d向量,您可以像数组一样使用它。据我所知,这种方法更为可取,因为你不必考虑释放记忆。