2015年4月11日 星期六

inline function 內嵌函數

在你宣告的function之前加上inline關鍵字
代表的是你想要在編譯時,直接把這個函式的內容寫進呼叫它的函式中。
原因是
在機器碼中,每個函式會寫到不同的記憶體位置,程式在執行呼叫時,會先停下來目前的狀態,跳到被呼叫的函式的記憶體區塊,執行完之後再跳回來。
在這段跳轉的過程中是會消耗系統資源的......
所以如果你的函式很短,或沒有要做什麼複雜計算,可以在編譯時,把被呼叫函式中的程式碼直接寫到目前的函式之中,來省下這段記憶體跳轉所造成的消耗。

note. inline只能用來建議編譯器你"想"這麼做,實際結果還是要看編譯器考慮到有沒有什麼限制而定。

沒有留言:

張貼留言