C++ 中 this->data 和 (*this).data 有什么区别

Dhi*_*wal 1 c++ pointers class

我在我的书中读到了有关 this 指针的内容。我遇到了书上写得含糊不清的地方,无法理解。我知道这是一个特殊的指针,用于确定调用了类的某个成员函数的对象。此外,当我们使用箭头运算符引用结构中的元素时,可以与此处使用的箭头运算符相关,但(*this).data是做什么用的?他们是彼此的别名吗?

rob*_*bsn 5

没有区别。

this->data
Run Code Online (Sandbox Code Playgroud)

只是一个简化

(*this).data

它将取消引用和成员访问合并到一个操作中。

  • @Dhiraj `(*this).data` 首先取消引用 `this`,然后访问成员 `data`,`this->data` 一步完成。差异纯粹是语法上的。 (2认同)