我正在寻找一种可读的方式来写这个(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))
有没有办法只用max define来实现这个目的?
答案 0 :(得分:1)
代码应易于阅读和理解。你说的第一段代码太长了,非常清楚,三行不是C或C ++的不合理代码。
如果您经常这样做,请将其打包在一个函数中,然后调用该函数。如果禁止的数字可以改变,则将其作为函数的参数。
请注意,三元表达式与使用if
语句的代码基本相同。他们可能会编译成相同的代码。