【发布时间】:2016-06-04 06:44:58
【问题描述】:
我经常看到这样的代码(C、C++,有时还有 Java):
return (value);
我看不出这些括号有什么好处。所以我的问题是,程序员是否假设return 是某种以返回值作为参数的函数,还是真的存在这些括号有意义的情况?
我了解here 已经提出了类似的问题,但这仅与 ANSI C 有关。我想知道是否有 C++ 或 Java 特有的方面尚未得到解答。
【问题讨论】:
-
return是一个语句,括号(“括号”用于[])是无用的。从语法上讲,它们是表达式的一部分,而不是语句的一部分。现代编码风格通常不鼓励使用它们。 -
@WillBriggs:嗯,在语法上确实如此。这可能与代码分析非常相关。
-
在 C++14 中有一个有趣的例子,
return括号改变了含义:stackoverflow.com/questions/4762662/… -
@FrankPuffer C、C++ 和 JAVA 是非常不同的语言。您必须针对每种语言提出这个问题才能得到正确的答案。你看到哈里斯试图通过一次写 3 个答案来解决这个问题。但这在 sx 指标中并不完美。