this 指针是一个隐含于每一个成员函数中的特殊指针。它是指向一个正操作该成员函数的对象。当对一个对象调用成员函数时,编译程序先将对象的地址赋予this指针,然后调用成员函数。每次成员函数存取数据成员时,C++编译器将根据 this 指针所指向的对象来确定应该引用哪一个对象的数据成员。
通常this指针在系统中是隐含存在的,也可以把它显式表示出来。
例如: this指针应用。
class A
{
public:
int get() //获得成员变量的值
{
return i; //不使用this指针
}
void set(int x) //修改成员变量的值
{
this->i = x;//显式利用this指针访问成员变量
cout << "this指针保存的内存地址为:" << this << endl;//输出this指针地址
}
private:
int i;
};
int main()
{
A a;
a.set(9);
cout << "对象a所在的内存地址为:" << &a << endl;
cout << "对象a所保存的值为:" << a.get() << endl;
A b;
b.set(999);
cout << "对象b所在的内存地址为:" << &b << endl;
cout << "对象b所保存的值为:" << b.get() << endl;
return 0;
}