C++內聯函數

C++對內聯函數的限制:

不能存在任何形式的循環語句   

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

函數體不能過於龐大

不能對函數進行取址操作

函數內聯聲明必須在調用語句之前

編譯器對於內聯函數的限制並不是絕對的,內聯函數相對於普通函數的優勢只是省去了函數調用時壓棧,跳轉和返回的開銷。

因此,當函數體的執行開銷遠大於壓棧,跳轉和返回所用的開銷時,那麼內聯將無意義。

內聯函數總結:

1)內聯函數在編譯時直接將函數體插入函數調用的地方

2)inline只是一種請求,編譯器不一定允許這種請求

3)內聯函數省去了普通函數調用時壓棧,跳轉和返回的開銷

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章