C++之inline函数
生活随笔
收集整理的這篇文章主要介紹了
C++之inline函数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、為什么需要inline
C中的宏沒有調(diào)用,參數(shù)壓棧、返回操作所以比函數(shù)快,但是有參數(shù)副作用,inline為了取代這種表達(dá)式形式的宏定義,它消除了宏定義的缺點(diǎn),同時(shí)又很好地繼承了宏定義的優(yōu)點(diǎn)。
2、inline如何使用以及特點(diǎn)
1)、inline一般寫 在C++函數(shù)定義的前面,一般主要是長度不長經(jīng)常調(diào)用的函數(shù),比如
inline void f()
{/****/
}
2)、inline 定義的類的內(nèi)聯(lián)函數(shù),函數(shù)的代碼被放入符號表中,在使用時(shí)直接進(jìn)行替換,(像宏一樣展開),沒有了調(diào)用的開銷,效率也很高 3)、類的內(nèi)聯(lián)函數(shù)也是一個(gè)真正的函數(shù),編譯器在調(diào)用一個(gè)內(nèi)聯(lián)函數(shù)時(shí),會(huì)首先檢查它的參數(shù)的類型,保證調(diào)用正確。然后進(jìn)行一系列的相關(guān)檢查,就像對待任何一個(gè)真正的函數(shù)一樣。這樣就消除了它的隱患和局限性 4)、使用inline函數(shù)完全取代表達(dá)式形式的宏定義,內(nèi)聯(lián)函數(shù)一般只會(huì)用在函數(shù)內(nèi)容非常簡單的時(shí)候,這是因?yàn)椋瑑?nèi)聯(lián)函數(shù)的代碼會(huì)在任何調(diào)用它的地方展開,如果函數(shù)太復(fù)雜,代碼膨脹帶來的惡果很可能會(huì)大于效率的提高帶來的益處。內(nèi)聯(lián)函數(shù)最重要的使用地方是用于類的存取函數(shù)。
3、測試Demo
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
總結(jié)
以上是生活随笔為你收集整理的C++之inline函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android之看起来像奔溃了但是没有发
- 下一篇: C/C++之内存对齐