在C++中使用"this"关键字
Use of "this" keyword in C++
可能重复:
在C++中过度使用这是一种代码气味吗
您应该在C++中何时使用"this"关键字
有什么理由使用这个->
在C++中,关键字this
通常被省略吗?例如:
Person::Person(int age) {
_age = age;
}
与相反
Person::Person(int age) {
this->_age = age;
}
是的,它不是必需的,通常会被省略。在变量在作用域中被重写后,访问变量可能需要它:
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
这是程序员的偏好。就我个人而言,我喜欢使用this
,因为它明确地标记了对象成员。当然,_
也做同样的事情(只有当您遵循惯例时(
无论哪种方式都有效,但许多地方都有适当的编码标准,这些标准将以某种方式指导开发人员。如果没有这样的政策,那就随心而动吧。不过,有一点是,如果你确实使用了它,它确实有助于代码的可读性。尤其是如果你没有遵循类级变量名的命名约定。
this
指向在其成员函数中引用它的对象,因此它是可选的。
是。除非存在歧义。
对于上面的例子,它通常被省略,是的。然而,任何一种方式在语法上都是正确的。
相关文章:
- 在 c++ 中正确定义"this"关键字?
- "this"关键字在C++中的实现限制,因为它与危险但功能示例有关
- 带有 "this" 关键字的 Java Copy 构造函数
- "this"嵌套类中的关键字C++
- C++指针上的关键字运算符"this"
- 在普通 C 中使用 'this' 关键字
- 初始化列表中常量变量的"this"关键字
- 我应该使用 "this" 关键字从成员函数内部访问类成员吗?
- 使用 "this" 关键字时的"Error: expression must have a pointer type"
- 访问修饰符在继承中的不同行为取决于"this"关键字和模板或缺少它们
- 是否可以更改'this'关键字的类型?
- 使用"this"关键字从矢量中删除元素
- 使用 This 关键字和运算符重载
- 在结构构造函数中使用"this"关键字编译错误?-C++
- "this"关键字导致分段错误
- 是否可以在C++中强制使用 "this" 关键字?
- 使用this关键字编译程序
- 在 c++ 中使用 "this" 关键字对性能有影响吗?
- 在C++中使用"this"关键字
- C++中"this"关键字的使用问题