y > 1) 在 C 中总是评估为 False ? " />
评估 C 中 (4 > y > 1) 的有效性
在 C 中,表达式 (4 > y > 1)可能会引发有关其有效性和评估的问题。
要理解其行为,必须了解链式比较运算符,例如 (4 > y > 1),被解析为从左到右的嵌套比较,因此语句:
(4 > y > 1)
被解析为:
((4 > y) > 1)
运算符异常重载:
但是,如果 y 是具有重载大于运算符 (>) 的类的对象,则评估可能会发生变化。在这种情况下,重载运算符的实现决定了表达式的行为。示例:
考虑以下代码:class mytype { }; mytype operator>(int x, const mytype &y) { return mytype(); } int main() { mytype y; cout << (4 > y > 1) << endl; return 0; }
以上是C 中 (4 > y > 1) 的计算结果是否始终为 False?的详细内容。更多信息请关注PHP中文网其他相关文章!