某些语言的比较器返回-1
,0
或1
,其他语言的比较器只返回布尔值,即0
或1
。< / p>
-1, 0, 1
比较器必须进行1-2次检查(并且在调用函数中也进行1-2次检查),而布尔比较器总是只做一次。相反,调用函数可能必须两次调用布尔比较器。
似乎布尔比较器总是更好,即更快更容易实现。
-1, 0, 1
比较器函数是否比布尔对应函数有任何好处?
答案 0 :(得分:0)
-1 / 0/1比较的目的是进行排序。
如果this
小于that
,则返回-1(技术上可能是任何负数)。
如果this
等于that
,则会返回。
如果this
大于that
,则会返回1(或任何正数)。
这样,只需进行一次比较调用即可this
相对于that
。任何返回布尔值的调用都需要两次调用。