可能的复制品: 在 C + + 中过度使用这个代码是不是有点奇怪 什么时候应该在 C + + 中使用“ this”关键字? 有什么理由使用这个->
在 C + + 中,关键字 this是否经常被省略? 例如:
this
Person::Person(int age) { _age = age; }
而不是:
Person::Person(int age) { this->_age = age; }
For the example case above, it is usually omitted, yes. However, either way is syntactically correct.
this指向引用它的成员函数的对象,因此它是可选的。
这是程序员的偏好。就个人而言,我喜欢使用 this,因为它显式地标记了对象成员。当然,_做同样的事情(只有当您遵循约定时)
_
是的,它不是必需的,通常被省略。在变量在作用域中被重写之后,访问它们可能需要:
Person::Person() { int age; this->age = 1; }
还有这个:
Person::Person(int _age) { age = _age; }
这是一种非常糟糕的风格; 如果您需要一个同名的初始值设定项,请使用以下表示法:
Person::Person(int age) : age(age) {}
更多信息请点击: https://en.cppreference.com/w/cpp/language/initializer_list
是的,除非有歧义。
无论哪种方式都可以工作,但是许多地方都有适当的编码标准,这些标准将以这种或那种方式指导开发人员。如果这样的政策没有到位,只要跟随你的心。不过有一件事,如果您使用它,它确实有助于提高代码的可读性。特别是如果你没有遵循类级别变量名的变数命名原则。