我发现您可以在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] 删除。
我来说两句