今天偶然注意到别人的代码中if条件判断中常常 写成
if(null == object){
}
而不是写成
if(object== null){
}
围绕心头好几天,想弄个明白,这是性能问题还是一种习惯?
于是问问了我旁边的师傅,他说是一种习惯,后来我们讨论被经理听到,经理出来解释了下,豁然开朗,特此留记。
不是性能问题,这源于C++的一种避免错误的习惯,因为在C++中 if条件判断中大于0为ture,小于0为false,在进行编码时,如果想表达:
if(a == 2){}
而误写成
if(a = 2){}
C++是检查不出这种错误的,为了避免这种错误就写成
if (2 == a){}
这样,如果少些了一个 等于号写成
if (2 = a){}
就会报错,于是乎形成了这种习惯,后来也就引入到了java中。因为 java中if条件判断只允许是boolean,如果想表达等于而少写了一个等号写成
if(a = 2){}
是会报错的,可以避免C++中检查不出的错误,但是这已经是一种习惯了,即把常亮放在左边。
欢迎大家一起讨论,爱思考,爱生活,一起成长!
本文深入探讨了C++编程中条件判断的反转写法,旨在避免因语法相似导致的逻辑错误。通过比较C++与Java在条件判断上的差异,解释了这种习惯性写法的起源及意义。文章最后鼓励大家深入思考并持续学习,共同进步。

被折叠的 条评论
为什么被折叠?



