小智 10
如果你说:
char buffer[SIZE];
char * ptr = & buffer[SIZE];
Run Code Online (Sandbox Code Playgroud)
那么是的,这是合法的.C++标准特别允许您以这种方式使用数组的一个结尾,并且在(例如)使用迭代器时会广泛使用它.
编辑:但请看litb和Steve Jessop的评论.如果你想完全正确,你可能想要:
char * ptr = buffer + SIZE;
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,一个接一个地址都是一个有效的地址 - 可能不太明确的问题(据我所知)是你是否被允许取消引用它.