C++声明或定义的函数可分为4种作用域:
- 默认全局函数
- 内联函数 ,即inline函数
- 外部函数 ,即extern函数
- 静态函数,即static函数
内联函数:
即 inline函数
是一种在文件作用域内用inline说明或定义的局部函数,
是一种直接将其函数体代码插入到主调函数调用位置,以代替函数调用,提高执行效率的函数。
在进行函数调用时,除了完成函数体对应的计算指令外,还需要完成传递实参、保存寄存器和恢复寄存器等操作,这些操作都是计算指令之外的操作或开销,而真正用于函数体计算的指令很少,此时通过内联函数,由编译器将函数调用指令替换为函数体计算指令,既可以降低调用开销,又可以提高执行效率。
//计算圆的面积和周长
inline double PI = 3.1416;
inline double perimeter(double r);//内联函数声明
inline double area(double r)//加上inline,相当于在函数前加上了static,所以该函数只能在当前代码文件调用
{
//注意:不能在内部定义inline变量
return PI*r*r;