內聯函數與宏替換的區別

1)內聯函數在運行時可調試,而宏不能夠 2)內聯函數能夠訪問類的成員變量,而宏不能夠 3)在類中聲明同時定義的簡單的函數,會自動轉換爲內聯函數 4)編譯器會對內聯函數的參數類型作安全檢查 :內聯函數具備宏的替換效果,以及普通函數的安全檢查 #define max(a,b) ((a) > (b) ?(a) :(b))    //必定要帶括號,優先級不一樣會形成意想不到的結果 int a=1,b=0;
相關文章
相關標籤/搜索