【发布时间】:2012-05-01 20:50:40
【问题描述】:
您何时遇到过可能过时、从未使用过或只是简单地混淆了您一生都无法理解的语法。
例如,我从来不知道逗号是 C 中的实际运算符。所以当我看到代码时
if(Foo(), Bar())
我刚刚吹了一个垫圈,试图弄清楚那里发生了什么。
我很好奇其他语言中可能存在哪些从未被尘封过的小角落。
【问题讨论】:
-
所以我很好奇,逗号有什么作用?还是超载了?
-
除非逗号被重载,否则它会从左到右执行参数并返回最右边的值。基本上就像使用;,但可以包含在 if、for 等中。它有时用于 for 循环:for(int a = 0, b = 100; a
-
我同意@Tomblin。这应该是一个社区 wiki 问题。没有正确的答案(除其他外)。
-
是C,所以不能重载。还有你的右边的strager(除了它从左到右评估,然后执行略有不同)。我会把它做成一个wiki。
-
不是左右实现依赖吗?或者那只是 C++?
标签: syntax