C++ 使用自指针为类数据成员赋值时的差异

C++ 使用自指针为类数据成员赋值时的差异,c++,oop,class,pointers,C++,Oop,Class,Pointers,假设我有一个类,如: Class MyClass { int myVar1; int myVar2; void myMethod(); } 下面的两个值分配有什么不同吗 void MyClass::myMethod() { //VARIABLE ASSIGNMENT myVar1 = 99; //USING POINTER TO CLASS this->myVar2 = 99; } 这个有什么用 此-> 变量赋值中的指针,除通过函数传递类等

假设我有一个类,如:

Class MyClass 
{ 
  int myVar1;
  int myVar2;

  void myMethod(); 
}
下面的两个值分配有什么不同吗

void MyClass::myMethod()
{
   //VARIABLE ASSIGNMENT
   myVar1 = 99;

   //USING POINTER TO CLASS
   this->myVar2 = 99;
}
这个有什么用

此->


变量赋值中的指针,除通过函数传递类等其他情况外?

没有区别。有时使用此->有助于消除歧义,但在这里不是。

这是一样的,除非在作用域中碰巧有两个同名的变量。在这种情况下,您可以使用此->进行区分。

在以下情况下会有所不同:

void MyClass::myMethod(int myVar1)
{
   myVar1 = 99; //doesn't change the member

   this->myVar1 = 99; //changes the member
}

在您的情况下,没有区别。

可能重复的。您能用myVar1的一些内联值解释一下您的示例吗?使用myVar1的参数调用myMethod后,第一次赋值后的值是多少?第二次之后呢?谢谢