什麼是函式內聯

inline int add(int x, int y)
{
    return x + y;
}

int main()
{
    int a = 1, b = 2;
    int c = add(a, b);
}

在上面的程式碼中,當 add 被內聯時,結果程式碼將變成這樣的程式碼

int main()
{
    int a = 1, b = 2;
    int c = a + b;
}

行內函數無處可見,它的主體被內聯到呼叫者的身體中。如果 add 沒有內聯,則會呼叫一個函式。必須引起呼叫函式的開銷 - 例如建立新的堆疊幀 ,複製引數,製作區域性變數,跳轉(丟失引用的位置以及快取未命中)等。