內聯函式與巨集定義區別

2021-07-16 16:35:03 字數 317 閱讀 5930

內聯函式和普通函式相比可以加快程式的執行效率,因為它不需要中斷呼叫,在編譯的時候內聯函式可以直接被鑲嵌到目標**中。而巨集只是在預處理階段乙個簡單的字元替換。

內聯函式需要做型別檢查,這是相比巨集的乙個優勢。

巨集是在**處不加任何驗證的簡單替代,而內聯函式是將**直接插入呼叫處,而減少了普通函式呼叫時的資源消耗。

巨集不是函式,只是在預處理時將程式中有關字元替換成巨集體。

關鍵字inline必須與函式定義體放在一起才能使函式成為內聯,僅將inline放在函式宣告前面不起任何作用。

inline是一種用於實現的關鍵字,巨集是一種用於宣告的關鍵字

內聯函式與巨集定義的區別

內聯函式與巨集的區別 inline一般只用於如下情況 1 乙個函式不斷被重複呼叫 2 函式只有簡單的幾行,且不包含for while switch等語句。一般而言,寫小程式沒有必要使用inline,但是如果要完成乙個工程專案,當乙個簡單函式被呼叫多次時,應考慮使用inline 常用的一些巨集定義 1...

內聯函式與巨集定義

用內聯取代巨集 1.內聯可除錯 2.可進行型別安全檢查或自動型別轉換 3.可訪問成員變數。另外,定義在類宣告中的成員函式自動轉化為內聯函式。內聯函式與巨集定義 在c中,常用預處理語句 define來代替乙個函式定義。例如 define max a,b a b a b 該語句使得程式中每個出現max ...

內聯函式與巨集定義

1 內聯函式取消了引數的壓棧,減少呼叫的開銷 2 內聯函式宣告必須和定義一起,如果只有宣告,編譯器只會將它看做普通函式的宣告,如果宣告的時候使用inline,定義在其他地方也用inline,那麼它是內聯還是普通函式 普通函式。查彙編 內聯函式與普通函式一樣?3 c 類中定義的函式都預設是內聯函式,無...