内联函数
将频繁的小操作定义函数有以下好处:
- 理解有意义的函数名比读懂等价的表达式要容易
- 使用函数确保行为的统一,每次操作都按照同样的方式运行
- 修改函数比修改所有表达式出现的地方要简单
- 函数可重复利用
但是函数调用有额外开销。使用内联函数可以避免这些额外的开销,在函数定义处加上inline关键字即可将函数声明为内联的
inline bool isGreater(int a,int b)
{
return a>b;
}
在编译过程中,内联函数会在调用处展开,如:
int ret=isGreater(2,1);
在编译后会变成
int ret=a>b;
内联函数适用于规模小、流程直接、调用频繁的函数。
编译器要展开函数仅有函数声明是不够的,给定内联函数要求多个定义必须完全一致,因此,内联函数通常定义在头文件中。