this指標的用法

2021-08-09 18:42:04 字數 853 閱讀 2776

前兩天在寫學生資訊管理系統的時候,翻閱教材發現有return *this 的用法。就仔細的看了下。

是在類內部,當在類的非靜態成員函式中訪問類的非靜態成員的時候,編譯器

會自動將物件本身的位址作為乙個隱含引數傳遞

給函式。

所以說呢,this指標其實就是個隱含的指標,他是時時刻刻存在的,指向著物件本身,表示當前物件的位址;當對乙個物件呼叫成員函式時,編譯程式先將物件的位址賦給this指標,然後呼叫成員函式,每次成員函式訪問資料成員時,會**使用this指標。當然也可以使用*this來表示呼叫該成員函式的物件。

那麼,return *this的作用是什麼呢?

拿我之前學生管理系統例子來說吧,clist&表示將當前鍊錶物件本身傳遞回去,要是返回型別是clist的話,那返回的是乙個轉殖體。

#includeusing namespace std;

class time;

time::time(int h, int m, int s)

time::time(time &x)

time::~time()

time &time::clear_time()

time time::_clear_time()

int main()

執行結果:

由例子可知:函式呼叫時,會隱含的傳遞this指標,this指向當前物件。若函式型別為time&,則直接將物件本身返回,若函式型別為time,則需先複製,並呼叫建構函式,最後return的便是這個複製的物件,之後銷毀。

指標的指標的用法

直接上 用途 使用乙個函式動態申請記憶體,並賦值。跳出呼叫函式後輸出賦值內容 cpp include include typedef struct data data void fun data p int main void fun data p 我建議你直接執行看看結果,你會發現執行出錯,在這裡...

指標的用法

c 中,成員指標是最為複雜的語法結構。但在事件驅動和多執行緒應用中被廣泛用於呼叫回叫函式。在多執行緒應用中,每個執行緒都通過指向成員函式的指標來呼叫該函式。在這樣的應用中,如果不用成員指標,程式設計是非常困難的。剛遇到這種語法時也許會讓你止步不前。但你會發現,使用恰當的型別定義之後,複雜的語法是可以...

this指標的用法

1.this指標的用處 乙個物件的this指標並不是物件本身的一部分,不會影響sizeof 物件 的結果。this作用域是在類內部,當在類的非靜態成員函式中訪問類的非靜態成員的時候,編譯器會自動將物件本身的位址作為乙個隱含引數傳遞給函式。也就是說,即使你沒有寫上this指標,編譯器在編譯的時候也是加...