六一的部落格


关关难过关关过,前路漫漫亦灿灿。



检查相等性

建议定义为非成员函数

如果类重载operator==, 意味着它通常也应该有operator!==

使用相等运算符实现不等运算符


相等判断的规则

  1. 能判断一组给定对象中是否含有重复数据

    重复的依据
  2. 相等运算符应该具有传递性

    如果 a = b= 和 b = c= 均为真, a = c=为真

当一个类在逻辑上有相等性的含义, 则其应该定义operator==


相等运算符重载

返回一个布尔值, 接受两个const引用

1bool operator==(const T &lhs, const T &rhs)
2{
3    bool res;
4    // process
5    return res;
6}

不等运算符重载

1bool operator!=(const T &lhs, const T &rhs)
2{
3    return !(lhs == rhs);
4}

相等性判断: 相等运算符和不等运算符


检查相等性

建议定义为非成员函数

如果类重载operator==, 意味着它通常也应该有operator!==

使用相等运算符实现不等运算符


相等判断的规则

  1. 能判断一组给定对象中是否含有重复数据

    重复的依据
  2. 相等运算符应该具有传递性

    如果 a = b= 和 b = c= 均为真, a = c=为真

当一个类在逻辑上有相等性的含义, 则其应该定义operator==


相等运算符重载

返回一个布尔值, 接受两个const引用

1bool operator==(const T &lhs, const T &rhs)
2{
3    bool res;
4    // process
5    return res;
6}

不等运算符重载

1bool operator!=(const T &lhs, const T &rhs)
2{
3    return !(lhs == rhs);
4}