脑阔大大 2016-03-22 06:25 采纳率: 0%
浏览 1310
已结题

为什么new没有申请到那个位置的内存还可以访问那个位置的值

#include
using namespace std;

int main(void)
{
float *x = new float[10];
for(int i=0;i!=10;++i)
x[i] = i;
cout << "the 1st element is " << x[0] << endl;
cout << "the 12st element is " << x[12] << endl;
double a;
a = x[0] + x[12];
cout << a << endl;

return 0;

}

  • 写回答

2条回答 默认 最新

  • bdmh 移动开发领域优质创作者 2016-03-22 06:38
    关注

    x[12],依然会按起始地址加12偏移,只要那个位置有内容就会读出来,不出错也是你赶巧了

    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿