C++内联函数 - 人工智能之路
为什么要有这玩意
作用:减少函数调用的开销
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() { };};
什么时候用(满足以下至少一条):
函数体很短
函数被多次调用