假设我在C++中有以下代码:
char buffer[SIZE];
char * ptr = &buffer[SIZE];
指针 ptr
的值从未被解引用。在C++中这样做是否合法?也就是说,使用数组的最后一个元素的下一个位置的内存地址(比如作为特殊值进行比较)。
char * ptr = &buffer[SIZE];
吗? - rwongbuffer[SIZE]
时,你进行了反引用操作...在正式的语言中它是一个灰色地带,但值得一提的是,我所见过的编译器都不会出现任何意外情况。 - Johannes Schaub - litbbuffer+SIZE
而不是&buffer[SIZE]
。 - user2100815