抱歉,如果这个问题听起来很愚蠢,但我刚刚开始学习 C++,而且我对新的位置感到困惑
我一直在阅读 C++ Primer(我发现这是一本非常好的学习 C++ 的书),并且在安置新部分中给出了一个示例。该示例使用 char 数组为放置 new 提供内存空间
const int BUF = 512;
const int N = 5;
char buffer[BUF];
double * pd1;
pd1 = new (buffer) double[N];
我的问题是为什么它使用 char 数组来为放置 new 提供内存空间?上面代码中的最后一行也是为 double 数组分配内存,当原始内存空间包含 char 数组时,这怎么可能?如果放置 new 正在使用 char 数组的内存空间,这是否意味着当我们分配 double 数组时它会覆盖该内存中的 char 数组?
如果问题很奇怪,再次抱歉,但希望我已经说得很清楚了。