我想知道是否有某种理由不使用this
属性类?
class Foo
{
private:
int m_foo;
public:
int getIntance() { return this->m_foo; }
}
除了说这是当前课程之外,还有其他原因吗?
不,不要使用它。在那种特殊情况下,它是不需要的,这是更少的打字:
int getIntance() { return m_foo; }
你写的越少越好。即使对于阅读您代码的人(他们阅读的内容也会更少)
this
打字少。在这种特殊情况下,这不是强制性的。this
例如,除非您想将对象的当前实例传递给函数,否则没有理由使用关键字。
你可以简单地写:
int getIntance() { return m_foo; }
调用一个方法getInstance
返回一个int
. 这是相当罕见的...
没有理由使用this
,除非,例如,您希望类外的某些东西指向您的实例(例如,您将实例添加this
到指针列表中)。
在您的示例中,this
是多余的,因为m_foo
可以很容易地被返回而return m_foo;
没有任何问题。
但是,this
只能在非静态成员函数中使用,否则无法编译。