做用:减小函数调用的开销函数
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的函数体,直接拿过来,上面的问题就不存在了 // ... } } }
定义code
// 1.内联函数 inline bool isBig(int a,int b) { return a > b; } // 2.内联成员函数 class B{ // func1和func2都是内联成员函数 // 1. 用inline关键字明确指定为内联成员函数 inline void func1(); // 2. 在类中,定义并实现的函数,自动定义为内联成员函数 void func2() { }; };
何时用(知足如下至少一条):内存
函数体很短编译器
函数被屡次调用编译