C++中,函数调用比求解表达式要慢很多。在函数调用过程中,调用前要先保存寄存器,并在返回时恢复,复制实参,程序还要转向一个新的位置执行。对于比较短的函数,可以考虑采用内联函数。内联函数采用inline声明,只要在原先定义的函数之前声明inline,就完成了内联函数的声明。内联函数只是在调用函数的地方将函数主体展开,可以避免函数调用带来的开销,但要记住内联函数主体不要超过5行,因为内联说明对于编译器来说只是一个建议,不是强制操作,代码一长,编译器会忽略这个建议。下面举个例子:
#include<iostream>
inline int max(int a, int b)
{
return a > b ? a : b;
}
int main()
{
std::cout << max(3, 4) << std::endl;
return 0;
}