【发布时间】:2012-12-19 23:14:10
【问题描述】:
我有一个游戏,它有一个网格,它是一个 2D 数组。这个数组填充了一个信息结构。
struct GridCell
{
uint mCellID;
Vector2 mPosition;
uint mLevel;
int mCellType;
};
class Grid
{
public:
Grid();
~Grid()
protected:
// Heap
GridCell[][] mGridCells;
// Dynamic
GridCell*[][] mGridCells;
};
请记住,内存中可以同时存在多个网格,并且这些网格单元的范围可以从非常小到非常大: 这更适合作为网格单元堆还是动态(指针)网格单元?
据我了解: 堆单元会占用大量内存 动态单元仍然会,但它将是指针,而不是整个结构。但是,这会导致内存碎片化吗?
我不确定哪一个最适合这种情况,而且我可能也不完全理解两者之间的区别。帮助?
【问题讨论】:
标签: c++ arrays memory-management