gpt4 book ai didi

c++ - ( var > x) 和 ( x < var) 之间有什么区别?

转载 作者:搜寻专家 更新时间:2023-10-31 01:28:19 24 4
gpt4 key购买 nike

我见过嵌入式编程以相反的顺序使用条件,例如在条件检查中左侧而不是右侧的文字。

( var > 0) and ( 0 < var) 

这是有原因的吗?或者它只是一种编码风格?

谢谢

编辑:感谢大家回答并消除我的疑问。

最佳答案

它们是等价的。唯一的区别可能是 operator</>是重载的,并且这些重载具有不同的含义(虽然不鼓励)。

我见过有人为相等运算符这样做,以避免错误地使用赋值。所以不是这个:

if (a==0) ...

错误地这样写:

if (a=0) ... // compiles, and not what we wanted, a assigned to zero, and "if" never taken

如果我们改用反向比较:

if (0==a) ...

然后错误的版本无法编译:

if (0=a) ... // doesn't compile

但这在今天并不太重要,因为大多数编译器都会 warn你为if (a=0) .

正如 Max Langhof 所说,这种相反的情况称为 Yoda conditions由于顺序与正常的英语顺序不同。

关于c++ - ( var > x) 和 ( x < var) 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52475199/

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