内联函数

内联函数与普通函数之间的区别并不在于编写方式,内联函数比普通函数只是在返回值类型前多了一个inline关键字。内联函数在编译时会被替换到函数调用的位置,以占用较多内存的代价换取执行速度的提升。

通常会把执行频率较高但体积较小的函数定义为内联函数。一般在定义内联函数时会将内联函数的整个定义放置在函数声明所在的位置,即头文件中。以下给出一个内联函数的示例。

inline double square(double x) { return x * x; }

Caution

内联函数不能递归!