督促自己学习 2021-11-26 14:24 采纳率: 0%
浏览 51

使用new申请了100亿大小的内存空间,但是只有14亿多的能访问。

问题遇到的现象和发生背景

使用new申请了100亿大小的内存空间,但是只有14亿多的能访问。

问题相关代码,请勿粘贴截图
int main()
{
    const size_t n = 10000000000;
    int* a = new int[n];
    a[0] = 10;
    a[6000000000] = 10;

    return 0;
}

运行结果及报错内容

编译会有警告 索引“6000000000”超出了“0”至“1410065407”的有效范围(对于非堆栈缓冲区“a”)。
运行报错 引发了异常: 写入访问权限冲突。

  • 写回答

5条回答 默认 最新

  • 关注

    程序能分到的内存是有限的
    你开的太大了超出了内存限制,所以直接报错了应该是

    评论

报告相同问题?

问题事件

  • 创建了问题 11月26日

悬赏问题

  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥20 python忆阻器数字识别
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api