2012-05-23 20 views
0

賦值到類數據成員當假設我有這樣一類:差分使用自指針

Class MyClass 
{ 
    int myVar1; 
    int myVar2; 

    void myMethod(); 
} 

是在有以下兩個值分配什麼區別?

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

    //USING POINTER TO CLASS 
    this->myVar2 = 99; 
} 

了哪些變量的賦值使用

這個 - >

指針(除其他案件時,如通過功能等傳遞類。)?

+0

可能重複[性能懲罰使用「this->」?](http://stackoverflow.com/questions/10559718/performance-penalties-on-using-this) –

回答

5

這是一樣的事情,除非你碰巧在範圍中有兩個同名的變量。在這種情況下,您可以使用this->進行區分。

3

沒有區別。有時使用this->有助於消除歧義,但不是在這裏。

4

這使得在以下情況有所不同:

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

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

在你的情況,沒有什麼區別。

+0

可以請你解釋一下你的例子myVar1的內聯值? (使用myVar1的參數調用myMethod之後,第一個賦值之後的值是多少?第二個之後的值是多少?謝謝! –