在 POO 属性类中带或不带'this'
With or without 'this' in POO attribute class
我想知道在属性类中使用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
是多余的,因为return m_foo;
可以很容易地返回m_foo
而没有任何问题。
但是,this
只能在非静态成员函数中使用,否则将无法编译。
相关文章:
- 如何导出包含具有"std::unique_ptr"值的"std::map"属性的
- C++概念:如何使用'concept'检查模板化结构的属性?
- 子目录是否继承属性,例如add_definitions,include_directories和父Cmakelist.t
- 通过指向指针数组的指针访问子类的属性
- MSVC是否支持C++11样式的属性而不是__declspec
- QML:修改在不同QML文件(而非main.QML)中定义的子对象的属性
- 类的C++属性似乎已重新初始化
- Qt Quick-如何仅从c++代码与qml属性交互
- 用概念检查属性的类型
- C++如何将同一类的实例作为属性
- 按多个属性排序
- 主函数参数的属性
- "perf_event_attr"结构的"read_format"属性的选项到底是什么?
- C++删除未使用的类属性会导致 std::logic_error
- 无法使用 SWIG 在 Python 中实例化C++类(获取属性错误)
- 使用内存地址访问结构的属性值
- C++调用具有 *this 属性的单个帮助程序函数
- C++ 在堆栈中包含多态属性的类对象存储
- C++ 命名参数习惯用语 - 未设置字符串属性
- 在 POO 属性类中带或不带'this'