Каков синтаксис для построения массива массива с использованием размещения new? - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь создать массив из массива для размещения новых.

Я ищу в интернете, мне удается только найти массив, используя размещение новых.Но что, если я хочу вместо этого массив массива?

Я не уверен, как построить внутренний массив.

конструктор диспетчера памяти уже выделил буфер большого размера

деструктор диспетчера памяти имеет буфер удаления

Новая перегрузка оператора узла уже реализована

Это мой код

map_size_x = terrain->get_map_width();
map_size_y = terrain->get_map_height();

grid_map =  new Node *[map_size_x];

for (int i = 0; i < map_size_x; ++i)
{
    //grid_map[i] = new Node[map_size_y];
    grid_map[i] = new( buf + i * sizeof(Node)) Node;

}

buf - это char *, который уже выделил большой объем памяти в каком-то другом классе, например, в диспетчере памяти, и его должно быть достаточно, чтобы соответствовать размеру Node * ширине и высоте.

Добавлена ​​новая перегрузка операторав классе Node, который равен

  void *AStarPather::Node::operator new(std::size_t size, void* buffer)
  {
     return buffer;
  }

, результат, кажется, не удалось выделить и программа зависла, но без сбоев.Я использую Visual Studio 2017

...