参数与和该指针

类成员函数以不同的方式处理,具体情况取决于它们是声明为 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

–>* 和 .* (指向成员的指针) 运算符左侧的操作数将方法和 . 和 –> (成员选择) 运算符相同有关参数匹配。

请参见

参考

参数匹配