可能是重复问题:
何时应明确使用this
指针?
我想知道“this”指针的正确用法。
我看到有人创建了一个类构造函数,其中传递的参数变量被命名为“data”。 然而,他已经有一个名为“data”的私有成员变量,因此他简单地使用:
this->data = data;
如果参数被命名为data_in,则只需使用
data = data_in
(并没有必要调用“this”指针并引用成员类型)。
现在我想知道,这是正确的用法吗?使用this->member
来减少命名复杂性?我的意思是它可以工作,我看到它实现了预期的效果,但我想知道你们更有经验的C++程序员能否说一两句这是否是常见做法?
另外,出于好奇,我已经对代码进行了仪器化,以查看在幕后发生了什么,似乎“this”指针无论如何都被调用。我猜这是引用类对象的方式。
: data(data)
(如果适用),有些人会使用this->data
,还有一些人会选择classname::data
。任何符合你审美的方式都可以。 - Michael Krelin - hacker