C 基礎 (6章)知識點 內聯函式

2021-10-25 03:58:46 字數 456 閱讀 3984

c++從c中繼承了乙個重要特徵那就是效率,在c語言中我們經常把一些短並且執行頻繁的計算寫成巨集,而不是函式,這樣做的理由是為了執行效率,巨集可以避免函式呼叫的開銷,這些都由預處理來完成。但是在c++出現之後,使用預處理巨集會出現兩個問題:

(1)第乙個在c中也會出現,巨集看起來像乙個函式呼叫,但是會有隱藏一些難以發現的錯誤。

『(2)第二個問題是c++特有的,預處理不允許訪問類的成員,也就是說預處理巨集不能用作類的成員函式。

為了保持預處理巨集的效率又增加安全性,而且還能像一般成員函式那樣可以在類裡訪問自如,c++引入了內聯函式的概念。

內聯函為了繼承巨集函式的效率,沒有函式呼叫時開銷,然後又可以像普通函式那樣,可以進行引數,返回值型別的安全檢查,又可以作為成員函式。

(1)不能存在任何形式的迴圈語句

(2)不能存在過多的條件判斷語句

(3)函式體不能過於龐大

(4)不能對函式進行取址操作

C 知識點1(內聯函式)

1.內聯函式 在c 中我們通常定義以下函式來求兩個整數的最大值 複製 如下 int max int a,int b 為這麼乙個小的操作定義乙個函式的好處有 閱讀和理解函式 max 的呼叫,要比讀一條等價的條件表示式並解釋它的含義要容易得多 如果需要做任何修改,修改函式要比找出並修改每一處等價表示式容...

第6章 知識點

jdbc訪問資料常用類和介面 drivermanager 管理jdbc驅動 connection 連線資料庫並傳送資料 statement 負責執行sql語句 resultset 負責儲存statement執行後所產生的查詢結果 jdbc訪問資料庫的步驟 載入jdbc驅動 與資料庫建立連線 建立st...

C 知識點9 函式過載,預設實參,內聯函式

函式過載 同一作用域內,函式名相同但是形參列表不同的函式,為過載函式 下面兩個函式就是過載函式,編譯時會根據形參列表將這兩個函式編譯成不同的函式,在呼叫時傳入對應的引數就可以呼叫不同的過載函式 上述 定義的三個過載函式並且在主函式中呼叫過載函式overloadfunc,但是編譯器無法判斷到底要呼叫哪...