C++ this 指针作用和使用方法

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++面向对象编程中非常重要。