可能重复:
i==0 和 0==i 之间有区别吗?
以下编码风格有什么好处,它们之间有什么区别吗?
int i;
// more code
if (i == 0) {...}
对比
if (0 == i) {...}
谢谢
可能重复:
i==0 和 0==i 之间有区别吗?
以下编码风格有什么好处,它们之间有什么区别吗?
int i;
// more code
if (i == 0) {...}
对比
if (0 == i) {...}
谢谢
完全没有区别。
我一直觉得后一个例子的可读性较差,而且我很少看到它,但有些人似乎喜欢它。
没有区别,选择一个并坚持下去以保持一致性。这(value == variable)
是旧语言的遗物,您可能会不小心将值分配给 if 中的变量(a = 0)
,而不是(a == 0)
它们都将变成(有效地)相同的机器指令,因此根本不会有任何性能差异
效率上没有区别,但是为了可读性,这种风格是首选:
if (i == 0) {...}
另一个版本是Yoda conditionif (0 == i) {...}
的一个例子,它被认为是一种糟糕的编程习惯。引用链接:
“尤达条件”——使用 if (constant == variable) 而不是 if (variable == constant),例如 if (4 == foo)。因为这就像说“如果天空是蓝色的”或“如果男人是高的”。