是否可以重新创建已被新放置“破坏”的数组?

时间:2018-07-11 17:56:35

标签: c++

我当时在考虑如何解决新的this问题,但遇到了问题。

假设我分配了一个float数组:

float *f = new float[10];

然后,我使用此存储空间存储double(注意,我假设fsizeof(float)*2==sizeof(double)正确对齐)会破坏float数组:

double *d = new(f) double;
for (int i=1; i<5; i++) {
    new(d+i) double;
}

现在,有没有一种方法可以重新创建float数组?最直观的解决方案

f = new(f) float[10];

可能不起作用,因为new[]可能会有空间开销,因此float[10]可能不适合f

0 个答案:

没有答案