《C 程式設計思想》內聯,靜態成員,引用 筆記

2021-06-09 17:58:09 字數 859 閱讀 6001

一、內聯函式

•保持效率的乙個方法是使用巨集,但存在兩個問題:一是巨集看起來像乙個函式呼叫。但並不總是這樣。這樣就隱藏了難以發現的錯誤。二是預處器不允許訪問類的成員資料,所以引入了內聯函式。

•一般地,任何種類的迴圈都被認為太複雜而不擴充套件為內聯函式。假如函式有許多語句,也不建議使用內聯。假如要顯式地或隱式地取函式位址,編譯器也不能執行內聯。內部鏈結的乙個好處是這個名字可以放在乙個標頭檔案中而不用擔心鏈結時發生衝突。那些通常放在標頭檔案裡的名字,如常量,內聯函式,在預設情況下都是內部鏈結的。

二、 靜態資料成員:

類體中的資料成員的宣告前加上static關鍵字,該資料成員就成為了該類的靜態資料成員。和其他資料成員一樣,靜態資料成員也遵守public/protected/private訪問規則。同時,靜態資料成員還具有以下特點:

1.靜態資料成員的定義。

靜態資料成員實際上是類域中的全域性變數。所以,靜態資料成員的定義(初始化)不應該被放在標頭檔案中。

2.靜態資料成員被 類 的所有物件所共享,包括該類派生類的物件。即派生類物件與基類物件共享基類的靜態資料成員。

3.靜態資料成員可以成為成員函式的可選引數,而普通資料成員則不可以。

4.★靜態資料成員的型別可以是所屬類的型別,而普通資料成員則不可以。普通資料成員的只能宣告為 所屬類型別的 指標或引用。

5靜態成員函式不能訪問一般的資料成員,而只能訪問靜態資料成員,也只能呼叫其他的靜態成員函式。

三、引用

•當引用被建立時,它必須被初始化(指標則可以在任何時候被初始化)。

•一旦乙個引用被初始化為指向乙個物件,它就不能改變為另乙個物件的引用(指標則可以在任何時候指向另乙個物件)。

•不可能有null引用,必須確保引用是和一塊合法的儲存單元關聯。

C 程式設計思想讀書筆記 9 內聯函式

1 在c語言中使用巨集可以提高程式效率,但巨集容易出錯 在巨集定義中,最好給變數打上括號,否則容易出錯.於處理器 無法對巨集的引數型別和返回值進行簡單 巨集和普通函式是有區別的,普通函式是值傳遞或者位址傳遞,但巨集是簡單地拷貝,特別引數是a 這種容易使a 多次執行 2 在巨集裡,沒法表示類的作用範圍...

c 物件導向 之 內聯函式 this 靜態成員

如果乙個函式是內聯的,那麼在編譯時,編譯器會把該函式的 副本放置在每個呼叫該函式的地方。用inline指定,內聯函式通常短小精悍沒有while和for迴圈,能夠幫助提公升程式執行的速度 include using namespace std inline int max int x,int y 程式...

C 未定義引用靜態類成員

include include using namespace std class foo int main 因為類的宣告並不會進行記憶體空間的分配。所以類的靜態成員無法在類宣告中定義。因此,類的靜態成員需要類內宣告,類外定義。並且注意定義盡量不要出現在標頭檔案中,以免造成重複定義。include ...