在POO属性类中有或没有'this'

时间:2013-07-29 05:50:30

标签: c++ class this

我想知道是否有理由在属性类中使用this

class Foo
{
    private:
        int m_foo;

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

除了说这是现在的班级之外,还有其他原因吗?

3 个答案:

答案 0 :(得分:1)

不,不要使用它。在这种特殊情况下,它不需要,这样输入的次数较少:

int getIntance() { return m_foo; }

你写的越少越好。即使对于阅读代码的人来说(他们阅读的内容也很少)

答案 1 :(得分:1)

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

您可以简单地写一下:

int getIntance() { return m_foo; } 

调用方法getInstance来返回int是很奇怪的。这是非常罕见的......

答案 2 :(得分:0)

没有理由使用this,例如,除非您希望课外的某些内容指向您的实例(假设您将实例添加到this),指针)。

在您的示例中,this是多余的,因为m_foo可以轻松地return m_foo;毫无问题地返回。{/ p>

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