参数与和该指针
类成员函数以不同的方式处理,具体情况取决于它们是声明为 static。 由于非静态函数具有提供 this 指针的隐式参数,非静态函数比静态函数再考虑有一个参数;否则,这些方法的声明。
这些非静态成员函数需要提示的 this 指针与该函数调用的目标类型或者,重载运算符的,它们需要第一个参数与运算符应用于的对象。 (有关重载运算符的更多信息,请参见 重载运算符。)
不同于重载函数的其他参数,不引入临时对象,并将不会尝试,当尝试匹配 this 指针参数时。
当 – > 成员选择运算符用于访问成员函数时, this 指针参数具有 class-name * const的类型。 如果成员声明为 const 或 volatile,类型分别为 const class-name* const 和 volatile class-name * const,。
. 成员选择运算符以相同的方式工作,除此之外,隐式 & (地址) 运算符前缀对对象名。 下面的示例显示了工作方式:
// Expression encountered in code
obj.name
// How the compiler treats it
(&obj)->name
–>* 和 .* (指向成员的指针) 运算符左侧的操作数将方法和 . 和 –> (成员选择) 运算符相同有关参数匹配。