是从动态分配的数组中索引的元素超出了有效范围[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]的主要内容,如果未能解决你的问题,请参考以下文章