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