这个语法叫什么?是标准C吗?它是标准的C++吗?
int x = ({
int y = 10, z;
if (2>1) {
z = 11;
}
y+z;
});
x将是 21。这是什么语法?我在 C 中见过它,我猜它也存在于 C++ 中。这个标准是两种语言的吗?
回答
这是一个非标准的gcc 编译器扩展,它允许在表达式上下文中执行任意代码并生成表达式结果。
int x = ({
int y = 10, z;
if (2>1) {
z = 11;
}
y+z;
});
x将是 21。这是什么语法?我在 C 中见过它,我猜它也存在于 C++ 中。这个标准是两种语言的吗?
这是一个非标准的gcc 编译器扩展,它允许在表达式上下文中执行任意代码并生成表达式结果。