任何人都可以解释以下代码如何创建标签?
char memory[] = "hello";
&&memory[0];
error: label 'memory' used but not defined
Run Code Online (Sandbox Code Playgroud)
&&memory[0];
Run Code Online (Sandbox Code Playgroud)
这不是有效的C++,因此符合标准的扩展可以分配人们可能想要的任何语义.
碰巧的是,这&&label是GNU人们为计算goto(GNU扩展)获取标签地址的方式.
而已.
参考:https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html