内联扩展内联

内联扩展(也称为内联)是编译器优化,它使用该函数的主体替换对函数的调用。这节省了函数调用开销,但是以空间为代价,因为该函数可能会重复多次。

// 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()
}

内联最常用于小函数,其中函数调用开销与函数体的大小相比是显着的。