是否有任何 repricussions 在存储在 -1 的数组中具有值?它会以不好的方式影响程序或计算机吗?我真的很好奇,我是编程新手,我能得到的任何澄清都非常有帮助,谢谢。
最佳答案
无法在索引 -1
的数组对象中存储任何内容。仅仅尝试获取指向该不存在元素的指针会导致未定义的行为。
在基指针不是数组对象本身,而是指向另一个数组对象中间的独立指针的情况下,负索引(如 -1
)可能会出现在类似数组的上下文中,如
int a[10];
int *p = &a[5];
p[-1] = 42; // OK, sets `a[4]`
p[-2] = 5; // OK, sets `a[3]`
但是在实际数组开始之前访问不存在的元素的任何尝试都会导致未定义的行为
a[-1]; // undefined behavior
p[-6]; // undefined behavior
关于c++ - 负一的数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21589076/