为什么需要内联函数?
调用函数比求解表达式要慢得多,在大多数机器上,调用函数要做很多工作:调用前要先保存寄存器,并在返回时恢复,复制实参,程序还需要转向一个新位置执行。
C++中支持内联函数,目的是提高函数得执行效率,用关键字inline放在函数定义(注意是定义而非声明)的前面即可将函数指定为内联函数,内联函数通常就是将它在程序中的每个调用点上“内联的展开”假设我们将 Max 定义为内联函数
inline int max(int a, int b)
{
return a > b ? a : b;
}
则调用: cout<<max(a, b)<<endl;
在编译时展开为: cout<<(a > b ? a : b)<<endl;
从而消除了把 max写成函数的额外执行开销
只有当函数行数少于10行,或者更少时,才将其定义为内联函数