【发布时间】:2012-04-09 16:54:27
【问题描述】:
在一个C++ coding style guide中, 我找到了一项特别的建议(第 41 页,建议编号 53):
左侧总是有非左值(
0 == i而不是i == 0)。
我不明白这有什么用?要坚持这种做法吗?
我不是,我不知道为什么他的做法很好。我能想到的唯一优点是可以避免误将无意分配与比较(if (foo = 0){} 与 if (foo == 0){})
你有什么其他想法我为什么要使用它?
【问题讨论】:
-
我不使用那个。自从我犯了 =/== 错误以来已经有很多年了。经验和技巧对我来说是比尤达条件这种尴尬的表达方式更好的对策。您决定使用或不使用应该基于您是否喜欢它,您是否觉得它对您有帮助,以及您的项目的编码标准是禁止还是要求它。
-
(0 == i)的优势在于它可以捕获一些=与==的错误。缺点是读起来会流血。
标签: c++ coding-style