成员访问的运算符重载 运算符重载将预定义运算符的功能扩展到自定义类,允许程序员定义运算符在应用时的行为方式到他们的实例。本问题探讨了成员访问运算符 ->、.、-> 等的具体行为。 传递给运算符函数并从运算符函数返回什么? ->:不接受任何参数并返回一个对象类类型。返回的对象用于成员查找。 ->*:接受任何参数并可以返回任何内容。不受非重载版本行为的限制。 .*, .:不能重载。 运算符函数如何确定被推荐的会员To? ->:运算符函数返回的对象表示正在访问的成员。 ->*:操作符函数不知道该成员。但是,它可能需要指定成员的参数。 .*、.:这些运算符执行内置成员查找,不能重载。 常量注意事项: 一般来说,常量和非常量版本类需要operator[]。但是,成员访问运算符: ->:仅需要非常量版本。 ->*:没有特定的 const 考虑因素。 .*, .:不可重载。