我正在构建一个需要支持二维数组来保存数据网格的应用程序.我有一个Map包含2d数据网格的类.我想使用向量而不是数组,我想知道使用2d向量的最佳实践是什么.我应该有MapCells的矢量向量吗?或者它应该是MapCells指针向量的向量?或引用MapCells?
class Map {
private:
vector<vector<MapCell>> cells;
public:
void loadMap() {
cells.clear();
for (int i = 0; i < WIDTH; i++) {
//How should I be allocating these?
vector<MapCell> row(HEIGHT);
for (int j = 0; j < HEIGHT; j++) {
//Should I be dynamically allocating these?
MapCell cell;
row.push_back(cell);
}
cells.push_back(row);
}
}
}
Run Code Online (Sandbox Code Playgroud)
基本上这样做的方法是让我遇到最少的麻烦(关于内存管理或其他任何事情)?