内联函数

将频繁的小操作定义函数有以下好处:

  1. 理解有意义的函数名比读懂等价的表达式要容易
  2. 使用函数确保行为的统一,每次操作都按照同样的方式运行
  3. 修改函数比修改所有表达式出现的地方要简单
  4. 函数可重复利用

但是函数调用有额外开销。使用内联函数可以避免这些额外的开销,在函数定义处加上inline关键字即可将函数声明为内联的

inline bool isGreater(int a,int b)
{
    return a>b;
}

在编译过程中,内联函数会在调用处展开,如:

int ret=isGreater(2,1);

在编译后会变成

int ret=a>b;

内联函数适用于规模小、流程直接、调用频繁的函数。

编译器要展开函数仅有函数声明是不够的,给定内联函数要求多个定义必须完全一致,因此,内联函数通常定义在头文件中。