inline關鍵字和內聯函式

2021-08-31 01:31:39 字數 461 閱讀 4826

在大多數的機器上,呼叫函式都要做很多任務作;呼叫前要先儲存暫存器,並在返回時恢復;複製實參;程式還必須轉向乙個新位置執行。一言以蔽之—— inline 函式避免函式呼叫的開銷。

將函式指定為 inline 函式,(通常)就是將它在程式中每個呼叫點上「內聯地」展開,這個過程發生在編譯期;正因為如此,也就不會有後來的鏈結。標頭檔案包含宣告,原始檔包含定義這一套典型的模式就行不通了(因為這個需要有鏈結這個動作)。內聯函式的定義也可以放在原始檔中,但此時只有定義那個原始檔可以使用,而且必須要為每一處使用到該函式的原始檔拷貝乙份定義,修改維護非常困難。解決辦法就是—— inline 函式的定義放在標頭檔案。內聯函式應該在標頭檔案中定義。

內聯函式是乙個用於定義的關鍵字,不是乙個用於宣告的關鍵字。 

講解內聯函式

[c++primer中文版第4版] p346-347

inline內聯函式和巨集的區別

C inline關鍵字和內聯函式

作用 避免頻繁呼叫函式對棧記憶體重複開闢所帶來的消耗。在 c c 中,為了解決一些頻繁呼叫的小函式大量消耗棧空間 棧記憶體 的問題,特別的引入了 inline 修飾符,表示為內聯函式。棧空間就是指放置程式的區域性資料 也就是函式內資料 的記憶體空間。在系統下,棧空間是有限的,假如頻繁大量的使用就會造...

inline關鍵字 簡述

inline關鍵字 inline 內聯 函式 將普通的函式定義為inline函式,可以避免普通函式入棧出棧的開銷,它是將函式內的 直接貼上到呼叫處。除此之外,它和普通函式無其他區別。在函式宣告或定義中函式返回型別前加上關鍵字inline,即可以把函式指定為內聯函式。內聯函式的宣告和內聯函式的函式體的...

inline 關鍵字使用

inline關鍵字是用於函式宣告或定義,可以把函式指定為內聯函式,而且關鍵字inline必須與函式定義放在一起才能使函式成為內聯,僅僅將inline放在函式宣告前是不起任何作用的。inline的作用是什麼呢?為什麼要引入inline功能呢?簡單的講 inline的作用與 巨集定義 作用相同,但是又不...