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后,第一次赋值后的值是多少?第二次之后呢?谢谢