[函數] inline函數

函數被呼叫時
程式的主控權交給了被呼叫的函數
等函數執行完後
再回到原程式繼續執行
程式這樣跳來跳去
會花費不少時間

C++提供一個解決方法
在一般函數定義前加上inline關鍵字
與一般函數不同的是
inline函數必須在函數被呼叫前定義

Ex:

#include <iostream>
using namespace std;

inline int fun(void){
 
 cout << "Hello World!";
 
}

int main(){
 
 fun();
 
}

 

使用inline函數時

會將函數的程式碼複製一次

直接替代函數敘述

就像把程式碼嵌入原始程式一樣

大大減少程式流程主控權不斷轉換的次數

但是

inline函數也會使用較多記憶體

來記錄這些被嵌入的程式碼

 

以下狀況不適合改成inline函數

    • inline函數內容過大
    • inline使用遞迴函數呼叫方式,呼叫自己本身
    • 編譯器不支援inline函數使用

有疑問? 留個言吧!

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料