使用自指针将值分配给类数据成员时的差异

时间:2012-05-23 10:33:13

标签: 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;
}

的用途是什么
  

这 - >

变量赋值中的

指针(例如,通过函数等传递类的其他情况除外)?

3 个答案:

答案 0 :(得分:5)

除非你碰巧在范围内有两个同名的变量,否则它是一样的。在这种情况下,您可以使用this->。

进行区分

答案 1 :(得分:4)

在以下情况中有所不同:

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

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

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

答案 2 :(得分:3)

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