內聯擴充套件內聯
內聯擴充套件(也稱為內聯)是編譯器優化,它使用該函式的主體替換對函式的呼叫。這節省了函式呼叫開銷,但是以空間為代價,因為該函式可能會重複多次。
// 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()
}
內聯最常用於小函式,其中函式呼叫開銷與函式體的大小相比是顯著的。