问题遇到的现象和发生背景
使用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”)。
运行报错 引发了异常: 写入访问权限冲突。