this pointer
发布时间
阅读量:
阅读量
this指针
- 问题:
- 参考答案:
- 参考文献
问题:
在ROS系统或C++编程实践中,this指针的出现频率较高。那么,采用this指针的原因是什么?它的具体作用又体现在哪些方面呢?
参考答案:
背景 :在每个对象中,数据成员各自占据独立的存储空间。若对某一类定义了n个对象,则会分配n组相同大小的存储区域,用于保存各个对象的数据成员。然而,所有不同的对象在调用成员函数时,均使用相同的函数目标代码。
冲突 :当不同对象的成员函数需要访问数据成员时,如何确保访问的是特定对象的数据?既然所有对象共享相同的函数代码,系统又如何区分各个对象中的数据成员?
解释 :每个成员函数内部都隐含着一个特殊的指针,该指针具有固定名称,通常称为this。
它是一个指向当前类对象的指针,其值对应于当前被调用的成员函数所属对象的起始地址 。
例如,在调用成员函数a.volume时,编译系统会将对象a的起始地址传递给this指针。这样,在该成员函数中引用数据成员时,系统将依据this指针所指向的位置找到对应对象的数据成员。例如volume函数计算height * width * length的结果时,实际执行的是(this->height) * (this->width) * (this->leng
全部评论 (0)
还没有任何评论哟~
