国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

mplab內(nèi)聯(lián)函數(shù) 什么是內(nèi)聯(lián)函數(shù)?

什么是內(nèi)聯(lián)函數(shù)?內(nèi)聯(lián)函數(shù)具有通用函數(shù)的特點,只有在函數(shù)調(diào)用的處理上不同于通用函數(shù)。調(diào)用一般函數(shù)時,程序的執(zhí)行權(quán)應轉(zhuǎn)移到被調(diào)用函數(shù),然后返回到調(diào)用它的函數(shù);調(diào)用內(nèi)聯(lián)函數(shù)時,調(diào)用表達式由內(nèi)聯(lián)函數(shù)的主體替換

什么是內(nèi)聯(lián)函數(shù)?

內(nèi)聯(lián)函數(shù)具有通用函數(shù)的特點,只有在函數(shù)調(diào)用的處理上不同于通用函數(shù)。調(diào)用一般函數(shù)時,程序的執(zhí)行權(quán)應轉(zhuǎn)移到被調(diào)用函數(shù),然后返回到調(diào)用它的函數(shù);調(diào)用內(nèi)聯(lián)函數(shù)時,調(diào)用表達式由內(nèi)聯(lián)函數(shù)的主體替換。在使用內(nèi)聯(lián)函數(shù)時,我們應該注意以下幾點:

1。內(nèi)聯(lián)函數(shù)中不允許使用循環(huán)語句和開關(guān)語句。

如果內(nèi)聯(lián)函數(shù)有這些語句,編譯器會將函數(shù)視為普通函數(shù)來生成函數(shù)調(diào)用代碼。遞歸函數(shù)(調(diào)用它們自己的函數(shù))不能用作內(nèi)聯(lián)函數(shù)。內(nèi)聯(lián)函數(shù)只適用于只有1-5行的小函數(shù)。對于包含許多語句的大型函數(shù),函數(shù)調(diào)用和返回的代價相對較小,因此不必使用內(nèi)聯(lián)函數(shù)。

2. 內(nèi)聯(lián)函數(shù)的定義必須在第一次調(diào)用內(nèi)聯(lián)函數(shù)之前出現(xiàn)。

3. 在本專欄中提到的類結(jié)構(gòu)中,類描述中定義的所有函數(shù)都是內(nèi)聯(lián)函數(shù)。

內(nèi)聯(lián)函數(shù)帶來的好處有有哪些?

與普通函數(shù)相比,內(nèi)聯(lián)函數(shù)的優(yōu)點如下:

消除了函數(shù)調(diào)用的時間開銷。從源代碼層面看,內(nèi)聯(lián)函數(shù)具有函數(shù)的結(jié)構(gòu),但編譯后不具有函數(shù)的性質(zhì)。因為必須在調(diào)用函數(shù)之前保存寄存器,在函數(shù)返回時還原寄存器,并且復制實際參數(shù),所以程序也必須在新位置執(zhí)行。與宏定義相比,內(nèi)聯(lián)函數(shù)的優(yōu)點如下:

1。內(nèi)聯(lián)函數(shù)可以在運行時調(diào)試,但宏定義不能。編譯器會對內(nèi)聯(lián)函數(shù)的參數(shù)類型進行安全檢查或自動類型轉(zhuǎn)換(與普通函數(shù)相同),但宏定義不會。內(nèi)聯(lián)函數(shù)可以訪問類的成員變量,但宏定義不能。聲明在類號中同時定義的成員函數(shù),自動轉(zhuǎn)換為內(nèi)聯(lián)函數(shù)

內(nèi)聯(lián)函數(shù)的定義:將函數(shù)定義為內(nèi)聯(lián)函數(shù)就是在程序中的每個調(diào)用點將其“內(nèi)聯(lián)”展開。在函數(shù)返回類型之前添加inline關(guān)鍵字。在類聲明中定義的成員函數(shù)自動成為內(nèi)聯(lián)函數(shù)。內(nèi)聯(lián)函數(shù)的應用:

1。重復調(diào)用函數(shù);

2。函數(shù)只有幾行,不包含for、while和switch語句。內(nèi)聯(lián)函數(shù)應該在頭文件中定義,這與其他函數(shù)不同。