this 在C 中的使用

2021-07-23 14:25:34 字數 489 閱讀 1717

1.this指標的用處

乙個物件的this指標並不是物件本身的一部分,不會影響sizeof(物件)的結果。this作用域是在類內部,當在類的非靜態成員函式中訪問類

的非靜態成員的時候,編譯器會自動將物件本身的位址作為乙個隱含引數傳遞給函式。也就是說,即使你沒有寫上this指標,編譯器在編譯的

時候也是加上this的,它作為非靜態成員函式的隱含形參,對各成員的訪問均通過this進行。 

2.this特性

(1)this只能在成員函式中使用。全域性函式、靜態函式都不能使用this.實際上,成員函式預設第乙個引數為t * const this。

如:class a

};其中,func的原型在編譯器看來應該是:

int func(a * const this,int p);

(2.)this在成員函式開始前構造,在結束時清除。

(3.)this的易混問題

this因編譯器不同,存放位置不同(堆,棧,全域性變數)

enum 在c中的使用

如果乙個變數你需要幾種可能存在的值,那麼就可以被定義成為列舉型別。之所以叫列舉就是說將變數或者叫物件可能存在的情況也可以說是可能的值一一例舉出來。舉個例子來說明一吧,為了讓大家更明白一點,比如乙個鉛筆盒中有一支筆,但在沒有開啟之前你並不知道它是什麼筆,可能是鉛筆也可能是鋼筆,這裡有兩種可能,那麼你就...

enum 在c 中的使用

列舉型別,顧名思義,枚 作為量詞,作 個 講,那麼列舉,就是乙個乙個的列舉,如果一件事情能夠被乙個乙個的列舉,那麼它的數量肯定就是有限的,否則是不能被一一枚舉出來的。所以列舉型別即為能被列舉的常量的乙個集合。在生活中,列舉的例子隨處可見,比如禮拜幾,那麼就可以作為乙個列舉變數。這個變數所儲存的值,是...

enum 在c中的使用

假設乙個變數你須要幾種可能存在的值,那麼就能夠被定義成為列舉型別。之所以叫列舉就是說將變數或者叫物件可能存在的情況也能夠說是可能的值一一例舉出來。舉個樣例來說明一吧,為了讓大家更明確一點,比方乙個鉛筆盒中有一支筆,但在沒有開啟之前你並不知道它是什麼筆,可能是鉛筆也可能是鋼筆,這裡有兩種可能,那麼你就...