第十四章 重载运算和类型转换
- 除了重载的函数调用运算符operator()之外,其它重载运算符不能含有默认实参
- 当一个重载的运算符是成员函数时,this绑定到左侧运算对象。成员运算符函数的(显示)参数数量比运算对象少一个
- 如果运算符指定了运算对象求值顺序,那么重载之后,这些求值顺序规则无法保留;|| 和&&也无法保留短路求值属性
- 因此不建议重载上面的运算符,具体为:逻辑与,逻辑或,逗号,||,&&
- 我们一般不重载逗号和取地址运算符:C++已经定义了它们对于类类型的特殊含义,有了内置的含义,就不应该被重载
- 如果类只执行IO操作,则定义移位运算符使其与内置类型的IO保持一致
- 当在内置的运算符和我们自己的操作之间存在逻辑映射关系时,运算符重载的效果最好
- P492~523尚未学习