this指針詳解

17、this指針詳解
a.this 指針是C++中的一個關鍵字,也是一個const指針,它指向當前對象,通過它可以訪問當前對象的所有成員。


void Student :: setNam(char*name){
this ->name = name;
 }


this雖然用在類的內部,但是只有在對象被創建以後纔會給this賦值,並且這個賦值的過程是編譯器自動完成的,不需要用戶干預,用戶也不能顯示的給this賦值。


b.this是const指針,他的值是不能被修改的,一切企圖修改該指針的操作,如賦值,遞增,遞減等都是不允許的


c.this只能在成員函數內部使用,用在其他地方沒有意義,也是非法的。


d.只有對象被創建後this纔有意義,因此不能再static成員函數中使用


e.this實際上是成員函數的一個形參,在調用成員函數時將對象的地址作爲實參傳遞給this。不過this這個形參是隱式的,它並不出現在代碼中,而是在編譯階段由編譯器默默地將它添加到參數列表中


f.this作爲隱式形參,本質上是成員函數的局部變量所以只能在成員函數內部使用,並且只有在通過對象調用成員函數時纔給this賦值。























































發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章