1. this指標的用處:
乙個物件的this指標並不是物件本身的一部分,不會影響sizeof(物件)的結果。this作用域是在類內部,當在類的非靜態成員函式中訪問類的非靜態成員的時候,編譯器會自動將物件本身的位址作為乙個隱含引數傳遞給函式。也就是說,即使你沒有寫上this指標,編譯器在編譯的時候也是加上this的,它作為非靜態成員函式的隱含形參,對各成員的訪問均通過this進行。
2. this指標的使用:
一種情況就是,在類的非靜態成員函式中返回類物件本身的時候,直接使用return *this;另外一種情況是當引數與成員變數名相同時,如this->n = n(不能寫成n = n)。
3. 類的this指標有以下特點:
(1)this只能在成員函式中使用。
全域性函式、靜態函式都不能使用this.
(
2)由此可見,
this
在成員函式的開始前構造,在成員函式的結束後清除。
this指標存放在何處?堆、棧、全域性變數,還是其他?
this指標會因編譯器不同而有不同的放置位置。
C 類中的指標
當我們在堆記憶體例項化物件時,可以得到物件指標 下面為堆記憶體例項化物件的例項以及如何通過物件指標訪問物件中的成員 classa a int x void show intmain 以物件的指標作為乙個物件中的資料成員。例子 classa a void show private int a int ...
C 類中的指標
c this指標 在c 中,每乙個物件都能通過this指標來訪問自己的位址。this指標是所有成員變數的隱含引數。在函式內部,this指標可以用來指向呼叫物件。注意 友元函式沒有this指標,友元不是類的成員,只有成員函式才有this指標 include using namespace std cl...
C 中類的this指標理解
原文 先要理解class的意思。class應該理解為一種型別,象int,char一樣,是使用者自定義的型別。用這個型別可以來宣告乙個變數,比如int x,myclass my等等。這樣就像變數x具有int型別一樣,變數my具有myclass型別。理解了這個,就好解釋this了,my裡的this 就是...