什麼是函式內聯
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
沒有內聯,則會呼叫一個函式。必須引起呼叫函式的開銷 - 例如建立新的堆疊幀 ,複製引數,製作區域性變數,跳轉(丟失引用的位置以及快取未命中)等。