內聯函數
爲什麼要使用?
- 對於一些規模較小、頻繁調用的函數,在函數調用的過程中會造成額外的開銷(調用函數比直接運行函數中的簡單代碼要慢),內聯函數可以在每個調用點上將函數“內聯地”展開,避免函數調用的開銷。在使用內聯函數後,函數在編譯的時候就已經計算完成了。
inline內聯函數聲明:
- 在函數返回類型前加上 inline關鍵字,可將此函數標誌爲內聯函數
- inline只是向編譯器發出一個請求,編譯器可以選擇忽略該請求
內聯函數要求:
- 規模較小
- 流程直接
- 頻繁調用
constexpr 函數
- 該函數的定義爲:能用於常量表達式的函數,在函數返回類型前加上constexpr關鍵字。
- 函數的返回值和形參類型必須是常量表達式(常量表達式:在編譯過程中就可以計算出值的表達式)
- constexpr函數被隱式的指定爲內聯函數
- 內聯函數和constexpr函數通常定義在頭文件.h中!!!!