我正在寻找一种很好的可读的方式来写这个(a和b是输入):
int value = 50;
if(a == value) return b;
if(b == value) return a;
return max(a,b);
这太长了。我想到了这个,但这还不够清楚:
return (a==value)?b:((b==value)?a:max(a,b))
是否有一种方法来实现这一点,只有最大的定义?
代码应该易于阅读和理解。你说的第一段代码太长了,但很清楚,对于C或c++来说,三行代码并不是不合理的。
如果你经常这样做,把它打包到一个函数中,然后直接调用这个函数。如果禁止的数字可以更改,则将其作为函数的参数。
注意,三进制表达式本质上与使用if
语句的代码相同。它们可能会编译成相同的代码。