this指针
来源:互联网 发布:什么是数据流程分析 编辑:程序博客网 时间:2024/06/16 09:15
在每一个成员函数中都包含一个特殊的指针,这个指针的名字是固定的,称为this。它是指向本类对象的指针,它的值是当前被调用的成员函数所在的对象的起始地址。
举一个简单的例子来说:
a.volume函数要计算height*width*length的值,实际上是执行:(this->height)(this->width)(this->length) 由于当前this指向a,因此相当于执行(a.height)(a.width)(a.length)
this指针是隐式使用的,它是作为参数被传递给成员函数的。
【特性】
1、this指针的类型 类类型* const
2、this指针并不是对象本身的一部分,不影响sizeof的结 果。
3、this的作用域在类成员函数的内部(不严谨)。
4、this指针是类成员函数的第一个默认隐含参数,编译 器自动维护传递, 类编写者不能显式传递。
5、只有在类的非静态成员函数中才可以使用this指针, 其它任何函数都不可以。
class Person { char * _pName; char * _pSex; unsigned char _cAge; void Print() { cout<<_pName<< "-" <<_pSex<<"-" <<_cAge<<endl; } void Init(Person*const this char * pName; char * pSex; unsigned char cAge; ) { strcpy(this->_pName,pName); strcpy(this->_pSex,pSex); this->_cAge=cAge; } };
__thiscall调用约定:
a、__thiscall只能够用在类的成员函数上。
b、参数从右向左压栈。
c、如果参数个数确定,this指针通过ecx传递给被调用 者;如果参数不确定,this 指针在所有参数被压栈后压入堆栈。
d、对参数个数不定的,调用者清理堆栈,否则函数自己 清理堆栈
0 0
- this指针
- this指针
- this指针
- this指针
- this指针
- this 指针
- this指针
- this指针----
- this指针
- this 指针
- This 指针
- this指针
- This指针
- this指针
- this指针
- this 指针
- this指针
- this指针
- C++Primer第五版 第十六章习题答案(11~20)
- SpringBoot入门:Hello World(一)
- 如何在自己的App中调用Android系统自带的安装/卸载程序
- 学习记录
- 由森马SRM系统中学到的easyui各部件使用方法
- this指针
- 在OpenCV中显示汉字(支持灰度和彩色图片)
- 雪花,是冬天凝固的泪
- linux中bg、fg、ctrl+z、ctrl+d和ctrl+c的区别
- javascript笔记整理系列
- nodejs+短信服务+网易云信
- 大并发量需要注意的问题
- 设计模式(12)-外观模式
- Android音频系统