gpt4 book ai didi

optimization - 通过在 bool 表达式的 LHS 上放置文字值可以获得什么优势?

转载 作者:行者123 更新时间:2023-12-03 17:18:26 24 4
gpt4 key购买 nike

我注意到一些开发人员中有一个微妙的趋势,他们始终将 bool 相等表达式的字面值放在表达式的左侧。

示例:

//Style #1, the style in question
if (null == object.Value || 0 == object.Value) doSomething();

//Style #2, the way I've always written it
if (object.Value == null || object.Value == 0) doSomething();

编写像#1 这样的 bool 表达式是否有任何可衡量的优势?我不明白为什么它会在运行时更快地评估,但我想知道是否某些编译器可以比 #2 更容易优化 #1?如果是这样,请解释哪些编译器以及原因。

我一直认为这只是个人品味的问题(也许有一个可读性的论点),但我已经看到了足够多的代码,如#1,我想知道它是否比我知道的更多.

最佳答案

一些开发人员遵循并提倡 (1),如果他们不小心将比较 (==) 错误键入为赋值 (=),那么编译器将在编译期间发出错误。在 (2) 中,同样的错误输入不会产生任何编译错误,但会导致程序逻辑有缺陷,因为 if将始终解析为 true由于任务。

关于optimization - 通过在 bool 表达式的 LHS 上放置文字值可以获得什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8899297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com