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指針會因編譯器不同而有不同的放置位置。