我很好奇其他人是如何使用这个关键字的。我倾向于在构造函数中使用它,但我也可能在整个类的其他方法中使用它。一些例子:

在构造函数中:

public Light(Vector v)
{
    this.dir = new Vector(v);
}

在其他地方

public void SomeMethod()
{
    Vector vec = new Vector();
    double d = (vec * vec) - (this.radius * this.radius);
}

当前回答

从来没有。永远。如果你有变量阴影,你的命名约定就会崩溃。我的意思是,成员变量没有区别的命名吗?Facepalm指

其他回答

我用它来调用智能感知就像JohnMcG,但我会回去擦除“this->”当我完成。我遵循微软的惯例,在成员变量前加上“m_”,所以把它作为文档是多余的。

每当我引用一个实例变量时,我都会使用它,即使我不需要。我认为这让代码更清晰。

我基本上只在从同一类型中引用一个类型属性时使用这个。正如另一个用户提到的,我还强调了本地字段,这样它们就不需要这样做了。

我养成了在Visual c++中大量使用它的习惯,因为这样做会触发智能感知,当我按'>'键时,我很懒。(而且容易出现错别字)

但我继续使用它,因为我发现它很方便,可以看到我调用的是成员函数而不是全局函数。

除非万不得已,否则不要用this。

不必要的冗长是有惩罚的。您应该努力使代码的长度恰好与需要的长度相同,而不是更长。