this 指针(C++学习笔记 22)

C++中的this指针是一个隐式传递的指针,用于指向调用成员函数的对象。每个对象在创建时,this指针会被初始化为指向该对象的地址。成员函数通过this指针访问和操作相应对象的数据成员,使得不同对象能调用相同的函数代码但操作各自的成员。在调用成员函数时,this指针作为隐含参数传递,确保了正确引用对象的数据成员。
摘要由CSDN通过智能技术生成
  • 当定义了一个类的若干对象后,系统会为每一个对象分配存储空间。

  • 如果一个类包含了数据成员和成员函数,就要分别为数据和函数的代码分配存储空间。

  • 事实上,给对象赋值就是给对象的数据成员赋值,不同对象的存储单元中存放的数据值通常是不同的,而不同对象的函数代码是相同的,不论调用哪一个对象的成员函数,其实调用的都是相同内容的代码。

  • 每个对象的存储空间都只是该对象的数据成员所占用的存储空间,而不包括成员函数代码所占用的空间,函数代码是存储在对象空间之外的。

  • 每个对象都有属于自己的数据成员,但是所有对象的成员函数代码却合用一份。

  • this 指针,称为自引用指针。每当创建一个对象时,系统就把 this 指针初始化为指向该对象,即 this 指针的值是当前调用成员函数的对象的起始地址

  • this 指针是隐式使用的,它是作为参数被传递给成员函数的。

  • 例如,当调用成员函数 a.disp 时,编译系统就把对象 a 的起始地址赋给 this 指针,于是在成员函数引用数据成员时:
    cout<<“x=”<< this->x <<endl;
    相当于执行:
    cout<<“x=”<<a.x<<endl;

  • this 指针的作用:每当调用一个成员函数时,系统就自动把 this 指针作为一个隐含的参数传给该函数。不同的对象调用同一个成员函数时,C++编译器将根据成员函数的 this 指针所指向的对象来确定应该引用哪一个对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值