預處理、const、static與sizeof-內聯函數與宏有什麼區別

預處理、const、static與sizeof-內聯函數與宏有什麼區別

1:二者的區別如下:

(1)內聯函數在編譯時展開,宏在預編譯時展開。

(2)在編譯的時候,內聯函數可以直接被鑲嵌到目標代碼中,而宏只是一個簡單的文本替換。

(3)內聯函數可以完成諸如類型檢測、語句是否正確等編譯功能,宏就不具有這樣的功能。

(4)宏不是函數,inline函數是函數。

(5)宏在定義時要小心處理宏參數(一般情況是把參數用括號括起來),否則容易出現二義性。而內聯函數定義時不會出現二義性。

posted @ 2017-10-09 20:35 一串字符串 閱讀(...) 評論(...) 編輯 收藏

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