您的位置:首页 > 编程语言 > C语言/C++

【菜鸟C++学习笔记】19.this指针

2012-10-07 22:09 375 查看
this指针用于记录当前对象的内存地址,然后通过“->”访问对象的成员,如:

#include <iostream>
using namespace std;
class A
{
public:
int get(){return i;}
void set(int x){this->i=x;cout<<"this指针保存的内存地址"<<this<<endl;}
private:
int i;
};
int main()
{
A a;
a.set(10);
cout<<"对象a的内存地址"<<&a<<endl;
cout<<"对象a的值:"<<a.get()<<endl;
A b;
b.set(100);
cout<<"对象b的内存地址"<<&b<<endl;
cout<<"对象b的值:"<<b.get()<<endl;
return 0;
}

输出结果:



分析:

1、this指针永远指向当前对象,即保存当前正在使用对象的地址,当对象a被创建时,this指针保存a的对象地址,当对象b被创建时,this指针保存b的对象地址;

2、语句this->i=x中的“this->”可以省略不写,编译器会在"i=x"前自动加上"this->";

3、this指针的创建与删除是由编译器完成的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ 编译器