內嵌函數其實就是將一個function直接展開至程式碼當中。
內嵌函數,也就是在 function前加入inline這個關鍵字,其用意是加速程式的執行速度。經過inline所宣告的function會直接展開在程式碼裡面,展開後的程式碼就會直接存取該參數,省略了呼叫function的資源浪費。也就是好處是不用呼叫函式執行速度較快,缺點是程式會因此變大,通常會用在程式碼不多但是卻常被呼叫的函式,然後只有當編譯器的效益分析為有利的時候,inline的動作才會發生。
本文以C++實作介紹。
製作一個兩數相比回傳較小的值的行內函數:
#include <iostream>
inline int min(int a, int b)
{
return a < b ? a : b;
}
using namespace std;
int main() {
cout <<"min(99,37)="<< min(99,37)<<endl;
system("pause");
return 0;
}
執行結果如下:
有夢最美 築夢踏實
活在當下 認真過每一天
我是阿夢 也是Ace