带括号的C ++表达式

德卡卡鲁克

我发现您可以在C ++中执行以下操作:

int a = ({
    int x = 12 + 3;
    x*x + 7;
});

或像这样:

bool x[] = {false, true, true, true, false};
if (({bool b = false; for (int i; i < 5; i++) if (x[i]) b = !b; b;}))
    printf("aaaaaaa\n");

然后我发现我不能做这样的事情:

int a = ({if (2 > 1) return x; x*x;});

也不

int a = ({if (2 > 1) x; x*x;});

也不

int a = ({x; if (1 > 2) printf("aaaa\n");});

这是什么?从什么时候开始允许?在关闭括号之前如何返回结果?

右折

这是语言扩展。请参阅对帐单不要使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带空括号的Lambda表达式()

来自分类Dev

grep模式中的括号表达式

来自分类Dev

正则表达式嵌套括号

来自分类Dev

与赋值表达式的C ++比较是右侧表达式

来自分类Dev

带尖括号的正则表达式行为

来自分类Dev

带点括号,正则表达式

来自分类Dev

带圆括号的正则表达式

来自分类Dev

带OR的Xpath表达式

来自分类Dev

带括号和分号的Grep / Ack表达式

来自分类Dev

FParsec用括号解析表达式

来自分类Dev

带星号的正则表达式方括号

来自分类Dev

“)”匹配括号的正则表达式

来自分类Dev

带括号的三元表达式在C中的函数指针声明中返回函数名称的原理

来自分类Dev

正则表达式在大括号之间获取价值,包括带括号的大括号

来自分类Dev

括号中的正则表达式

来自分类Dev

正则表达式与=匹配的括号

来自分类Dev

用括号连接表达式?

来自分类Dev

双括号的正则表达式

来自分类Dev

带表达式的C ++模板参数

来自分类Dev

带括号的正则表达式-性能

来自分类Dev

带括号的MongoDB正则表达式

来自分类Dev

带圆点的方括号的正则表达式

来自分类Dev

表达式包含不匹配的括号

来自分类Dev

如何仅替换带括号的表达式javascript

来自分类Dev

C#正则表达式-需要删除括号

来自分类Dev

正则表达式以匹配简单的括号(C#)

来自分类Dev

表达式的Reportbuilder结果需要括号

来自分类Dev

正则表达式中的括号

来自分类Dev

正则表达式-可选括号