Я создаю приложение, которое должно поддерживать двухмерные массивы для хранения сетки данных. У меня есть класс 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);
}
}
}
В принципе, какой способ сделать это поможет мне в наименьшей степени проблем (в отношении управления памятью или чего-то еще)?