c++ - 在评估中使用多个 'greater-than/less-than' 比较器是否合适?

标签 c++ comparison

我试图通过使用多个 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/

相关文章:

c++ - 如何使用 ffmpeg 以便不需要将其 dll 包含在您的应用程序文件夹中?

c++ - FRAPS 替代方案 : Where to look and what for?

c - C 中的 strcmp 返回 1 而不是 0

java - 为什么期间不具有可比性

c++ - 需要理解语句 "Accessability is checked statically and not dynamically in C++"

c++ - 来自 Base Ctor 的纯虚函数调用

c++ - 对默认参数使用右值引用

c - 如何在 C 中使用大于和小于(> 和 <)比较 float

java - 压缩具有许多重复项的 csv 文件的最佳方法是什么?

c# - 为什么使用泛型的 "Equals"方法解析与显式调用不同