gpt4 book ai didi

c++ - 二维数组大小

转载 作者:行者123 更新时间:2023-11-30 02:53:03 26 4
gpt4 key购买 nike

我使用的是 Microsoft Visual Studio 2010。当我尝试初始化这个二维数组时遇到问题。 - 整数 A[480][640].错误是栈溢出了。

这个错误是指向编译器还是什么?我该如何解决这个问题?

谢谢!

最佳答案

正如其他人所提到的,您溢出了大小有限的堆栈。大型数组应该动态分配(在堆上)而不是放在堆栈上。 vector 是一个动态数组。 Vector 不直接支持 2d,但您可以使用 vector 的 vector 来模拟它。将 xsize 和 ysize 替换为您的尺寸,它们不再必须是常量。

vector< vector< int > > A(ysize, vector< int >(xsize));

for (int y = 0; y < ysize; y++)
{
for (int x = 0; x < xsize; x++)
{
A[y][x] = x * y;
}
}

请注意,y 和 x 索引是向后的。这种方式通常效率更高。

关于c++ - 二维数组大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18383119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com