Заполните трехмерный вектор объектами класса - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть объект класса с именем Cube:

class Cube{
  public:    
    Cube();
};

Cube::Cube(){}

Я создаю трехмерную сетку объектов Cube следующим образом:

 vector<vector<vector<Cube>>> grid;

Теперь я хочу заполнить ее определеннымколичество объектов Cube.По сути, я хочу сделать то же самое, что и при создании трехмерного массива:

Cube grid[10][10][10]

Возможно ли это в C ++?

1 Ответ

0 голосов
/ 05 февраля 2019

Прямо сейчас вы вызываете конструктор std::vector по умолчанию, однако есть также конструктор, который принимает размер и значение элемента.Полный список см. На странице cppreference .

Так что вы действительно можете сделать это:

vector<vector<vector<Cube>>> grid(10, vector<vector<Cube>>(10, vector<Cube>(10, Cube());

, что даст вам трехмерный вектор 10x10x10, заполненный Cube() (куб по умолчанию) объекты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...