小编goa*_*nks的帖子

C++ Two Dimensional std :: vector最佳实践

我正在构建一个需要支持二维数组来保存数据网格的应用程序.我有一个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)

基本上这样做的方法是让我遇到最少的麻烦(关于内存管理或其他任何事情)?

c++ vector

13
推荐指数
1
解决办法
3万
查看次数

标签 统计

c++ ×1

vector ×1