在类的成员函数当中有一个特殊的变量就是this指针,通过它我们可以引用对象本身,那this指针到底是怎么一回事了?本文将对它做一个深入的解说。
首先,我们在成员函数没有声明变量 this,也没有传递this作为参数,那为什么this就可以用了。这是为什么了?答案是,编译器给我们的类成员函数自动传进来了this指针,对于下面的类:
编译器将把成员函数Test改造成类似下面的样子:
在VS2008当中我们可以看到如下的反汇编代码:
由此证明的确是如此。下面是几点总结:
- 注意this指针的声明。this指针本身不能改变,但是可以通过this指针修改它指向的对象(即自己)。
- 显示使用this指针是为了明确操作作用的成员。