两个"this" c++ 之间的区别

Difference between two "this" c++

本文关键字:区别 之间 c++ this 两个      更新时间:2023-10-16

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

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

  • CCD_ 7是间接算子在CCD_。此表达式计算为this所指向的对象
  • CCD_ 10是指针运算符成员的一个应用程序。此运算符用于取消引用指针并在一个运算符中选择一个成员

此处对两者进行了描述:http://en.cppreference.com/w/cpp/language/operator_member_access

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

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

因此,在这种情况下,*this是当前对象,而this->Member访问该对象的"Member"成员,即,就像访问(*this).Member一样。

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

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

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