我试图通过使用多个 greater-than (>)
来查看一个变量是否在一个范围内的和less-than (<)
在一次评估中。我不确定这是否有效。好像比using multiple =='s is illigal ,但是 < 和 > 可以吗?
这是我正在尝试做的一个例子:
if (bottomOfRange < variable < topOfRange) {
//Do stuff
}
我知道这个:
if (bottomOfRange < varialbe && variable < topOfRange) {
//Do stuff
}
有效,我只是在寻找一种更有效的比较方式。
这会评估我想要的方式,还是会有不同的表现?
最佳答案
没有。这段代码可能会编译,具体取决于变量的类型,但不会给出您想要的比较。它将:
- 评估
bottomOfRange < variable
给出 bool 结果; - 将该结果提升为值为 0 或 1 的数字类型;
- 将该值与
topOfRange
进行比较.
如果你想比较一个值和另外两个值,那么你需要写出两个比较:
if (bottomOfRange < variable && variable < topOfRange)
关于c++ - 在评估中使用多个 'greater-than/less-than' 比较器是否合适?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18577275/