我正在设计一个仅适用于存储在内存中的位图的图形库。
由于位图是二维的(x 和 y 或列和行),我可以使用二维数组。
//PIXEL_BIT is a user defined type to store RGB values of a single pixel
PIXEL_BIT buffer[1366][768];
据我了解,C++ 不能很好地处理二维数组。特别是在涉及动态二维数组时。所以我相信,二维数组用作缓冲区(或内存位图)并不是那么酷。
另一种声明缓冲区的方法是:
PIXEL_BIT *buffer = new PIXEL_BIT[1366 * 768];
我认为这种方法更有效。所以我的问题是,如果你要在内存中存储位图,你会使用什么样的缓冲区?将位图存储在内存中的最佳方法是什么(我认为可以随机访问一块内存)?
[编辑] 我确实了解堆和堆栈是什么。您可能应该看到这个问题: How do I declare a 2d array in C++ using new?