是从动态分配的数组中索引的元素超出了有效范围[duplicate]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是从动态分配的数组中索引的元素超出了有效范围[duplicate]相关的知识,希望对你有一定的参考价值。

我已将数组声明为

int* arr = new int[10];

然后我填写了前10个元素,并且也做了

arr[10] = 100; arr[11] = 200;

我做的时候

cout << arr[10] << ' ' << arr[11];

输出为

100 200

我想知道代码为什么起作用。这是有效的还是我缺少有关此主题的某些信息。arr [10]和arr [11]不应包含任何垃圾值。
答案
读取/写入数组的边界是不确定的行为,因此任何事情都可能发生。它可能起作用,它可能不起作用,它可能每隔第二个满月就起作用,任何事情都会发生。

以上是关于是从动态分配的数组中索引的元素超出了有效范围[duplicate]的主要内容,如果未能解决你的问题,请参考以下文章

计算数组时出现“列表分配索引超出范围”错误

SwiftUI - 致命错误:从数组中删除元素时索引超出范围

从firebase删除时数组索引超出范围

删除索引满足条件的每个元素;列表分配索引超出范围

Python构建二维数组获取列表分配索引超出范围

索引超出了数组拆分函数的范围[重复]