定义:
this指针指向被调用的非静态成员所属的对象,简单理解:谁调用谁就是this,每一个包含有非静态成员的对象都隐含有this指针,无需进行定义,直接使用
用途:
- 当形参与成员变量同名时,可用this指针来区分
- 在类的非静态成员函数中返回对象本身,可使用return *this进行返回
本质:
this指针本质上是一个指针常量,指针的指向是不可修改的,即this一旦指向某一对象就不可更改其指向,但this指针指向的值是可进行修改的
#include <iostream>
class Person {
public:
Person(int age) {
this->age = age;
std::cout << "this指针的值:" << int(this) << std::endl;
}
Person& AddAge()
{
this->age += 10;
return *this;
}
int age;
};
int main()
{
Person p1(16);
std::cout << "对象p1的地址:" << int(&p1) << std::endl << std::endl;
Person p2(18);
std::cout << "对象p2的地址:" << int(&p2) << std::endl << std::endl;
Person p3(20);
Person p4 = p3.AddAge();
std