Chinaunix首页 | 论坛 | 博客
  • 博客访问: 36792
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 67
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-24 11:36
文章分类

全部博文(7)

文章存档

2016年(7)

我的朋友
最近访客

分类: C/C++

2016-08-03 17:10:30

     关于this指针,对于一个类来说的实例来说,我们可以看到它的成员函数、成员变量,但是实例本身我们看不到,而this指针就是一个时刻指向实例本身的一个指针。
对于this指针有以下几个需要注意的点:
  • this指针本身是一个函数参数,只能在成员函数中使用,全局函数、静态函数都不能使用this,实际上,成员函数默认的第一个参数是:T * const  this。
  • this在成员函数的开始前构造,在成员函数结束后清除。
  • this指针不占用对象的内存空间。
     this相当于静态成员函数的一个隐式的参数,不占用对象的空间。它跟对象之间没有包含关系,只是当前对象被指向而已。
     所有成员函数的参数,不管是不是隐含的,都不会占用对象的空间,只会占用参数传递时的栈空间,或者直接占用一个寄存器。
  • this指针存放位置会因编译器不同而不同,可能是堆、栈、或者寄存器。
  • 我们仅仅成员函数中,直接使用this指针,或者获得它的位置。
阅读(2051) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~