C++this指针

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();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值