我试图谷歌但徒劳无功。
在C++数组存储在连续内存中。
这意味着,如果你有一个x
元素,并且你知道它在一个数组中,并且它不是数组的第一个元素,那么前一个元素是
*(&x - 1)
即我们减去 1 后由 x
地址指向的元素(请注意,这是有效的,因为 C++ 中的指针算术考虑元素大小,因此&x - 1
不是指向前面的字节,而是指向前面的元素)。