【发布时间】:2013-02-22 17:45:57
【问题描述】:
我需要一个二维数组。 它的宽度在 900 左右。它的高度也是如此(相同的宽度值)。
处理两个循环(一个用于宽度,一个用于高度),我确实需要访问我将处理的 900X900 图像的所有像素。
数组的大小太大(指定原始数和列数时出错)。
我考虑过使用动态数组来建立它,以优化计算时间并在每次处理两个循环上的一个像素时释放内存。
但我真的找不到我想要声明二维动态数组的语法(malloc、设置数组元素值和释放内存)。
【问题讨论】:
-
提示:在 C++ 中,
std::vector是新的malloc。 -
900х900х4=3.2M 不算多...动态数组非常慢。向我们提供有关如何获取此图像以及如何处理它的更多信息。你有什么错误?
-
它是用堆栈溢出来写的!
-
当它要处理图像的一个窗口时(例如100X100),我有很好的计算,但我想处理整个图像,因此,当我改变元素的数量时我的数组到 900 :: ALERT with Stack over flow。
-
不要在堆栈上创建它。使用 malloc 为数组分配内存或在编译器选项中增加堆栈大小。
标签: c++ arrays dynamic-arrays dynamic-allocation