什麼是this
自引用類的正確用法?正確使用this->
我有時在一個方法中使用它來清除所使用的變量是一個成員變量,而不是在方法中聲明的變量,但另一方面,我想知道這是否是一個很好的理由,因爲我認爲你應該總是以自我解釋的方式編碼(和評論),因此會不必要地使用this
,另一個原因是你實際上生產的代碼比需要的多。
void function() {
while(i != this->length) //length is member var
/*do something*/
}
使用它,我經常遇到的另一種方式是內部構造(主要是在Java中),作爲參數確實有相同的名稱,其中有成員變量初始化。由於Primer指出這是不好的代碼,我不這樣做,但另一方面,我看到如何使用與member-vars相同的名稱作爲參數名稱清除它們的用途。
C++
Constructor::Constructor(int size,int value) : this->size(size),
this->value(value) {};
Java
Constructor(int size,int value) {
this->size = size;
this->value = value;
}
我希望居然沒有考慮到這兩種語言(Java/C++)的規則,如果沒有,我會重新標記只是C++的,因爲這是我比較感興趣的一個。
另一個用途是相對於嵌套類。可以有多個「這個」。 – emory
風格的Java構造函數:this.a = a;通常被認爲是正確的 –
我知道我看過這個問題之前問過幾十次,有些人收到了很好的答案。 –