未分类
比较运算符, Min, Max, Sort 和 Order
惭愧,突然发现又是没有blog的一年。这一年不断在尝试搞大新闻,写点大东西,到现在也没憋出来。倒是又在学习新东西的过程中看到了一些零碎的小知识,很有意思. 很巧,这个也是和比较运算符相关的,和一年前的blog竟然有所重合。 还是先上结论: 当需要为类型T定义比较运算符时,所有运算符最好保证语义整体一致 * 一般来说,这很容易达到,我们只需要实现operator<(lhs,rhs),即可引申定义出其余几个比较运算符. * 定义operator<=为 !(rhs < lhs) * 定义operator>为 rhs < lhs * 定义operator>=为 !(lhs < rhs) * 定义operator= 为!(lhr < rhs) && !(rhs < 1hs) * 定义operator!= 为