C ++ размещение нового

Извините, если этот вопрос будет звучать глупо, но яя только начинаю изучать C ++, и что-то меня смущает в размещении newI '

Я читал C ++ Primer (который я считаю очень хорошей книгой для изучения C ++), и в новом разделе по размещению приведен пример. В примере используется массив char для предоставления места в памяти для размещения новых

const int BUF = 512;
const int N = 5;
char buffer[BUF];
double * pd1;
pd1 = new (buffer) double[N];

Мой вопрос: почему он использует массив символов для предоставления места в памяти для размещения новых? Кроме того, последняя строка в приведенном выше коде выделяет память для массива double, как это возможно, если исходное пространство памяти содержит массив char? Если для размещения new используется пространство памяти массива char, означает ли это, что когда мы выделяем двойной массив, он перезаписывает массив char в этой памяти?

Снова извините, если вопрос странный, но надеюсь, что ямы сделали это совершенно ясно.

Ответы на вопрос(5)

Ваш ответ на вопрос