C++this指针

来源:互联网 发布:淘宝如何设置橱窗推荐 编辑:程序博客网 时间:2024/06/18 09:55

C++ this指针

在C++中,每个对象都可以通过this指针来访问自己的地址,this指针是所有成员函数的隐含参数,因此在成员函数内部,它可以用来指向调用对象。友元函数没有this指针,因为友元函数不是成员函数。

C++指针回顾

C++指针是一个变量,每一个变量都有一个内存地址,指针动态分配内存,其值就是内存位置的直接地址。定义一个指针变量,把变量地址赋值给指针,访问指针变量中可用地址的值。
#include<iostream>using namespace std;int main(){    int var = 20;//定义一个变量    int *p; //声明一个指针变量    p = &var; //指针变量存储var地址    cout<<var<<endl;//输出20    cout<<p<<endl;//输出地址    cout<<*p<<endl;//输出20}


C++引用回顾

提到指针我们就会想起引用。引用变量是一个已存在变量的另一个名字,俗称别名。把引用初始化为某个变量后就可以用该引用或变量名来指向变量了。听起来是不是有些绕,呵呵。
#include<iostream>using namespace std;int main(){    int r=3;    int& i=r; //创建引用变量    cout<<r<<endl;//输出为3    cout<<i<<endl;//输出为3}



关于this指针的一个经典回答:

当你进入一个房子后,   
你可以看见桌子、椅子、地板等,   
但是房子你是看不到全貌了。   
对于一个类的实例来说,   
你可以看到它的成员函数、成员变量,   
但是实例本身呢?   
this是一个指针,它时时刻刻指向你这个实例本身

一个指向C++类的指针与指向结构的指针类似,访问指向类的指针的指针成员,需要使用成员访问运算符->
box a;box *i;i=&box;i->vlues();


1 0
原创粉丝点击