浅谈this指针

来源:互联网 发布:浙江大学会计专硕 知乎 编辑:程序博客网 时间:2024/06/13 03:37

定义:this本身是一个指针,它时时刻刻指向一个类的实例(对象)。
使用:this指针作为类成员函数的一个默认隐含参数,由编译器自动维护传递。

this指针是类的一个自动生成、自动隐蔽的私有成员,它存在于类的非静态成员中,指向被调用函数所在的对象。
全局仅有一个this指针,当一个对象被创建时,this指针就存放指向对象数据的首地址。

首先我们要知道在C++中,编译器是这样识别一个类的(class)
1:识别类名
2:识别类数据成员
3:编译函数并且对函数进行重写
this指针的特性:
1:类型:类类型*const
2:this指针并不是类本身的一部分,不影响sizeof(类)的大小
3:this指针是非静态成员函数的一个隐含指针形参,是编译器自己给的,不能由程序员手动添加。
this指针的俩种传参方式:
1:参数压栈:当成员函数的参数为可变时(遵循_cdecl调用约定)
2:ecx寄存器:当成员函数的参数固定时(遵循_thiscall调用约定)
其他:
1:this 指针可以为NULL
2:this 指针和引用的底层实现一样但是类的概念在引用之前提出来所以没有用引用代替this指针

0 0
原创粉丝点击