这样代码,为何竟然不报错呢?
在静态存贮区中是 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;
}
在静态存贮区中是 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;
}
解决方案 »
- CEdit编辑框内怎么显示不了位图!如何解决?
- OnTimer相同的函数调用两次为什么只执行了最后一次?
- 关于MFC在框架的cpp中引用视图的头文件的问题
- COM1口没有接硬件,对该com1口进行writefile操作,返回值总是0,对吗?,错误号“ERROR_IO_PENDING”,谁能帮我解释解释!!!
- 怎样将汉字和字符一起输出到一个*.txt文件中,打开文件又可以看到汉字
- 方法调用出问题!!!
- 请问做这样一个项目,要多少钱合适
- 请教用什么函数可以从硬盘取.bmp格式的图象进行显示
- 有人能为我解释一下以下代码(进度条控制)是什么意思么?
- ReleaseMutex错误代码288
- RegOpenKeyEx的返回值不是0,是2!?
- 关于属性向导的问题
就已经把 arr1 分配了16字节了 ,和之前定义的不冲突啊,覆盖了吧