gpt4 book ai didi

c++ - 如何在 C++ 中处理一个非常大的二维数组

转载 作者:可可西里 更新时间:2023-11-01 16:56:49 24 4
gpt4 key购买 nike

我需要创建一个大小为 800x800 的二维整数数组。但是这样做会造成堆栈溢出(哈哈)。

我是 C++ 的新手,所以我应该做一些像 vector 的 vector 这样的事情吗?并将二维数组封装到一个类中?

具体来说,这个数组是我在图形程序中的 zbuffer。我需要为屏幕上的每个像素存储一个 z 值(因此需要 800x800 的大尺寸)。

谢谢!

最佳答案

你需要大约 2.5 兆,所以只使用堆应该没问题。除非需要调整 vector 大小,否则不需要 vector 。参见 C++ FAQ Lite有关使用“2D”堆数组的示例。

int *array = new int[800*800];

(完成后不要忘记删除[]它。)

关于c++ - 如何在 C++ 中处理一个非常大的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61680/

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