內聯擴充套件內聯

內聯擴充套件(也稱為內聯)是編譯器優化,它使用該函式的主體替換對函式的呼叫。這節省了函式呼叫開銷,但是以空間為代價,因為該函式可能會重複多次。

// source:

int process(int value)
{
    return 2 * value;
}

int foo(int a)
{
    return process(a);
}

// program, after inlining:

int foo(int a)
{
    return 2 * a; // the body of process() is copied into foo()
}

內聯最常用於小函式,其中函式呼叫開銷與函式體的大小相比是顯著的。