纤维Fibre 2022-11-10 17:28 采纳率: 63%
浏览 11
已结题

为什么new动态数组超出长度的元素也可以输入?

int *p=new int [2];
cin>>p[3];//一维时。

int(*p)[2];
p=new int [2][2];
cin>>p[3][2];//二维时。
以上为什么都能通过编译!

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-11-10 17:37
    关注

    能输入是你运气好,说明越界后的内存块现在没有进程在使用。否则你程序就挂了。而且你现在的意思只是编译通过,那肯定没问题,程序还没运行的时候,还不知道分配哪块内存呢。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月16日
  • 已采纳回答 12月8日
  • 创建了问题 11月10日

悬赏问题

  • ¥15 寻找电脑攻防的导师,有问题请教一下。
  • ¥20 微信同是win11,我的电脑安装不了pageoffice,一直无法打开
  • ¥15 这个界面我通过postman请求不到,但是通过浏览器可以正常访问
  • ¥15 动态规划算法实现背包问题
  • ¥15 wpf程序使用过程中异常奔溃
  • ¥15 多目标优化算法在与其他算法数据对比结果判断
  • ¥15 CPTN和EAST,主干网络是VGG16,请问在ICDAR2015数据集上训练之后,CPTN和EAST模型的大小为多少
  • ¥15 按颜色进行点云分割-python
  • ¥15 Matlab如何实现汽车变道切入场景的批量仿真
  • ¥15 无刷电机要通过什么才能做各种动作