两者之间的差异"这个" C ++

时间:2014-10-28 22:06:09

标签: c++

我只是想知道* this和this->之间的区别是什么?何时使用它。我认为*这是当前的对象,这个 - >指向当前对象。

4 个答案:

答案 0 :(得分:6)

this是指向当前对象的指针。 *this是指针指向的值,即当前对象。 this->(*this).的简写,例如this->a(*this).a相同。

答案 1 :(得分:1)

  • *thisthis上的间接运算符的应用程序。此表达式求值为this指向的对象。
  • this->是指针运算符成员的应用程序。此运算符用于取消引用指针并在一个运算符中选择成员。

这两个都在这里描述:http://en.cppreference.com/w/cpp/language/operator_member_access

这些都不是特定的this指针。运算符以相同的方式应用于任何指针。

答案 2 :(得分:0)

this是指向当前对象的指针。它隐含在所有对象方法中。

*this取消引用this指针this->(*this).

的简写

它就像取消引用和点(用于访问结构或类的成员,但缩写为一个运算符。

答案 3 :(得分:0)

this是指向当前对象的指针。 *->运算符是标准指针运算符,分别1)取消引用指针(返回指向的值),2)访问指向的对象的成员。

因此,在这种情况下,*this是当前对象,this->Member访问"会员"该对象的成员,即好像在做(*this).Member