this指针是C++中的一个非常重要的概念,它指向当前对象的指针。
一、this指针
在类的非静态成员函数中,this指针被隐含传递,表示当前对象地址。
class Person {
public:
void printName() {
cout << this->name << endl; // this指向当前对象
}
};
二、访问成员
通过this指针可以访问对象成员,如this->age。
三、避免命名冲突
this指针可以避免成员与参数重名时的冲突。
class Person {
public:
void setName(string name) {
this->name = name; // 内部成员name
}
};
四、返回对象自身
成员函数可以通过this指针返回对象自身:
Person& Person::setName(string name) {
this->name = name;
return *this;
}
五、常量成员函数
在常量成员函数中this为const类型,不能修改成员。
六、空指针
当没有对象时,this为nullptr。
掌握this指针的用法可以编写灵活的类代码。它在C++面向对象编程中非常重要。