inline function(內聯函數)

1. definition 
    從源代碼的層次看,和函數的形式一樣,只是在函數前面用inline做了修飾。但是在編譯後,只是把函數體裏面的代碼代替函數名,而不像普通函數那樣調用前保存現場,記住當前執行地址,調用後恢復現場等操作,所以執行效率高。
2. 使用時注意事項
    遞歸函數,以及含有while, switch 等結構不能作爲內聯函數,即使你用inline進行了修飾,編譯器也會把它處理成普通函數;應該先定義後使用
3. 和宏的比較

    從定義上看,內聯函數和宏差不多,但有很大區別。宏在執行時間上看是在編譯之前預處理之中進行的,而內聯函數是在編譯時進行的,進行代碼的替換,它克服了宏容易產生的二義性。



轉載來源:http://blog.chinaunix.net/uid-26905027-id-3756039.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章