仅用<运算符判断C++中两变量是否相等的实现方法
仅用<运算符判断C++变量相等的实现方法
核心逻辑是利用严格弱序的特性:对于两个可比较的变量A和B,若既不满足A < B,也不满足B < A,则二者必然相等。因为在严格弱序规则下,两个元素要么有明确的大小关系,要么等价(即相等)。
具体实现代码如下:
#include <iostream> int main() { int A = 10; int B = 10; // 判断A和B是否相等 if (!(A < B) && !(B < A)) { std::cout << "A 和 B 相等" << std::endl; } else { std::cout << "A 和 B 不相等" << std::endl; } return 0; }
注意事项
- 该逻辑适用于所有支持严格弱序比较的类型,包括int、double等基本数据类型,以及正确重载了
<运算符的自定义类(需确保重载的<符合严格弱序规则,否则判断可能失效)。 - 你之前尝试的
A < B && B < A逻辑本身不可能成立,因为一个数不可能同时小于另一个数且被另一个数小于,这个条件永远为假,自然无法判断相等。
内容的提问来源于stack exchange,提问作者Hikko
相关产品推荐
相关产品推荐

