內(nèi)聯(lián)函數(shù)的優(yōu)越性:
一:inline定義的類的內(nèi)聯(lián)函數(shù),函數(shù)的代碼被放入符號表中,在使用時直接進行替換(像宏定義一樣展開),沒有了調(diào)用的開銷,效率很高。
二:類的內(nèi)斂函數(shù)是一個真正的函數(shù)。
三:使用內(nèi)聯(lián)函數(shù)inline可以完全取代表達式形式的宏定義。
例子:
總結(jié)inline函數(shù)與宏定義的區(qū)別:
1、內(nèi)斂函數(shù)在編譯時展開,而宏是在預編譯時就展開了
2、在編譯時內(nèi)斂函數(shù)可以直接被嵌入到目標函數(shù)代碼中,而宏只是一個簡單的文本替換
3、內(nèi)斂函數(shù)可以完成諸如類型的檢測、語句是否正確等編譯功能,宏就不具備這種功能
4、宏不是函數(shù),而inline函數(shù)是函數(shù)
5、宏在定義時要小心處理宏參數(shù),(一般情況是把參數(shù)用括弧括起來)。