1、重载的运算符是具有特殊名字的函数,它们的名字由关键字 operator 和其后要定义的运算符号共同组成,和其他函数一样,重载的运算符也包含返回类型,参数列表以及函数体。
2、当一个重载的运算符是成员函数时, this 指针绑定到左侧运算对象上,成员运算符函数的显式参数数量比运算对象数量少一个。
3、对于重载的运算符,我们不能改变其原生的优先级和结合律。
4、取地址运算符,逻辑运算符,逗号运算符,前置与后置运算符不要重载,因为重载后会使得与原生含义或者行为不一致。
5、如果一个类重载了 == 运算符,那么也应该重载 != 运算符。
6、如果一个类重载了 < 运算符,那么他也应该重载其他关系运算符
7、重载运算符的返回类型通常情况下应该与内置版本的返回类型一致。逻辑运算符和关系运算符应该返回 bool ,算数运算符应该返回一个类类型的值,赋值运算符和复合赋值运算符应该返回左侧运算对象的一个引用。
8、= , [], (), ->运算符必须重载为成员函数,复合赋值运算符可以重载为非成员函数