0

我想知道是否有某种理由不使用this属性类?

class Foo
{
    private:
        int m_foo;

    public:
        int getIntance() { return this->m_foo; }
}

除了说这是当前课程之外,还有其他原因吗?

4

3 回答 3

1

不,不要使用它。在那种特殊情况下,它是不需要的,这是更少的打字:

int getIntance() { return m_foo; }

你写的越少越好。即使对于阅读您代码的人(他们阅读的内容也会更少)

于 2013-07-29T05:52:42.013 回答
1

this打字少。在这种特殊情况下,这不是强制性的。this例如,除非您想将对象的当前实例传递给函数,否则没有理由使用关键字。

你可以简单地写:

int getIntance() { return m_foo; } 

调用一个方法getInstance返回一个int. 这是相当罕见的...

于 2013-07-29T05:55:20.900 回答
0

没有理由使用this,除非,例如,您希望类外的某些东西指向您的实例(例如,您将实例添加this到指针列表中)。

在您的示例中,this是多余的,因为m_foo可以很容易地被返回而return m_foo;没有任何问题。

但是,this只能在非静态成员函数中使用,否则无法编译。

于 2013-07-29T06:05:01.613 回答