- 主题:if (var == VALUE1) vs if (VALUE1 == var)
你倾向于哪种写法?或者说你的项目/公司的规范有要求用哪种吗?
第一种:
if (var == VALUE1)
第二种:
if (VALUE1 == var)
第一种更符合习惯,第二种就是为了防止少写一个等号导致误赋值。
现在编译器或者代码检查工具,对于在if语句中的赋值,都能产生警告吧?
--
FROM 222.130.138.*
有很多驻版的吧,他们有管理权限
【 在 finlab 的大作中提到: 】
: 你申请个斑竹吧, 这个版的版主好像好久没有出现过了。
:
--
FROM 222.130.138.*
因为我看到有人还在用第二种写法
【 在 giggham 的大作中提到: 】
: 如果是30年前的话还值得一问
: 我碰见最蠢的是别的语言if赋值表达式会报错的
: 也写第二种
--
FROM 222.130.138.*
可以拆开的吧
比如
if ((p = malloc()) == NULL)
拆成
p = malloc();
if ( p == NULL)
直接写 if (p = malloc()) 这种就不好了
【 在 ylh0315 的大作中提到: 】
: 不行,我有时就这么用,就是赋值且判断。
: 当然不是楼主说的情况。
--
FROM 222.130.138.*
这一样可以拆开,不过老式的C写法就是这样的
【 在 ylh0315 的大作中提到: 】
: if(!(p=malloc(A_size))).....
--
FROM 222.130.138.*
优化器很猛,现在这些写法优化后基本都是一个代码
【 在 ylh0315 的大作中提到: 】
: 看这写法就知道有多老。
: 这是k&r的建议写法,也是最简洁效率最高的写法。可以各种写法汇编码都看看。
--
FROM 222.130.138.*
不管优化效果是否有差异,不要在意这一句话的性能差异,那是微不足道的
【 在 ylh0315 的大作中提到: 】
: 这个就没法优化了,这个写法最优:
: while(!(task=rdy_get())) {
:
--
FROM 222.130.138.*
那咋可能。必然是可以拆开的,只不过拆了后显得略微“啰嗦”点而已
【 在 ylh0315 的大作中提到: 】
: 我的意思是这个没法劈成两句了。就只能是赋值并判断的形式。
--
FROM 222.130.138.*
这么简单的,就别花费时间啦,哈哈
【 在 ylh0315 的大作中提到: 】
: 太罗嗦啦,而且更容易错。
: 你给我拆个试试。
--
FROM 222.130.138.*