【发布时间】:2013-09-17 00:40:44
【问题描述】:
使用三元运算符是否有任何性能或内存方面的优势而不是 if else(反之亦然)? 比如下面的一个案例:
int x=0, y=1, z=2, a=0;
a= x ? y : z;
替代方案:
if ( x != 0 ){
a = y;
}else{
a = z;
}
【问题讨论】:
-
注意并比较代码长度
-
很可能没有性能优势,当然也没有内存使用优势。
-
@GrijeshChauhan 为什么代码长度很重要?如果性能相同,那么与人类可读性相比,代码长度并不重要
-
@DavidA.French 三元运算符比 'if' /'else' 简洁得多,并且为了简单的表达,它具有更好的可读性和单行性。可读性高于性能
-
@GrijeshChauhan 可读性是主观的。对于许多人来说,if/else 语句更具可读性。而且你没有根据可读性来表达你的观点。你说的代码长度。代码长度=/=可读性。
标签: c