这样代码,为何竟然不报错呢?
在静态存贮区中是 char arr1[8];
可是布局new却是
new (arr1) double[2];
这已经超过静态存贮区的8字节了,要new出来的是16个字节,但是运行时,却不报错,这是为什么呢?#include <iostream>char arr1[8];int main()
{
using std::cout;
using std::endl;
double *p2;
p2=new (arr1) double[2];
*p2=20.99;
*(p2+1)=199.88;
cout << *p2 << endl;
cout << *(p2+1) << endl;
return 0;
}