为什么要有这玩意
作用:减少函数调用的开销
bool isBig(int a,int b) {
return a > b;
}
// isBig函数会无数次的被调用,调用的过程,耗时耗内存
void main() {
int a = 1;
int b = 2;
while(true) {
if (isBig()) {
// ...
}
}
}
--- 假如isBig函数是内联函数,那么编译器会编译成这样 ---
void main() {
int a = 1;
int b = 2;
while(true) {
if (a > b) { // 把isBig的函数体,直接拿过来,上面的问题就不存在了
// ...
}
}
}
用法
定义
// 1.内联函数
inline bool isBig(int a,int b) {
return a > b;
}
// 2.内联成员函数
class B{
// func1和func2都是内联成员函数
// 1. 用inline关键字明确指定为内联成员函数
inline void func1();
// 2. 在类中,定义并实现的函数,自动定义为内联成员函数
void func2() {
};
};
什么时候用(满足以下至少一条):
函数体很短
函数被多次调用
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。