我常常看到这样的代码(C,C,有时是Java):
return (value);
我认为这些括号没有任何好处.所以我的问题是,如果程序员假设返回某种函数并将返回值作为参数,或者是否真的存在这些括号有意义的情况?
我知道类似的问题已经被问过here,但这只与ANSI C有关.我想知道是否有特定于C或Java的方面尚未得到解答.
解决方法:
关于C.
括号放在有表达式的地方,并且希望返回值为表达式的值.即使这样也不需要括号.写一些类似的东西是完全可以的
return x + y;
程序员确实让它返回(x y);使其更具可读性.
所以,括号是一个意见和实践的问题.
关于C.
有一个神秘的案例,括号很重要.引用this问题
int var1 = 42;
decltype(auto) func1() { return var1; } // return type is int, same as decltype(var1)
decltype(auto) func1() { return(var1); } // return type is int&, same as decltype((var1))
您可以看到返回的值不同,这是由括号引起的.你可以通过this的答案来详细了解.
关于java,括号没有任何区别.
编码惯例建议配合使用
return x + y;
要了解更多,请阅读this答案.
注意:我对java和C不太了解.关于java和C的答案中的所有内容都来自其他答案.我这样做是为了巩固三种语言的不同约定.
标签:c-3,java,c
来源: https://codeday.me/bug/20191007/1867797.html