C++中的inline用法
内联函数的内涵:
比如
int g(int x)
{
return x + x;
}
int f()
{
return g();
}
这样f会调用g,然后g返回x + x给f,然后f继续把那个值返回给调用者。
如果g是inline的话。f会被直接编译成:
int f()
{
return x + x;
}
相当于把g执行的操作直接融合到f里。
优劣
- 减少了调用g消耗的时间
- 同时也增大了f的尺寸
- 只适用用函数内简单的函数
编译器
inline函数仅仅是一个对编译器的建议,所以最后能否真正内联,看编译器的意思