奇思妙想 · 2024年 5月 18日 0

定义比较关系为什么不需要”< == > >= <="都定义?

7 次浏览

基于简单的数学公式:

  • a < b ==> ! a >= b
  • a ==b ==> ! a != b
  • ! a < b && ! a == b ==> a > b
  • ! a < b || a == b ==> a >= b
  • a < b || a == b ==> a <= b

只需要实现<和== 或者 >和==即可定义所有关系运算符。C++/C#/Swift默认用前者,定义小于<和等于==运算符可以实现所有关系运算符操作。