預處理、const、static與sizeof-內聯函數與宏有什麼區別
1:二者的區別如下:
(1)內聯函數在編譯時展開,宏在預編譯時展開。
(2)在編譯的時候,內聯函數可以直接被鑲嵌到目標代碼中,而宏只是一個簡單的文本替換。
(3)內聯函數可以完成諸如類型檢測、語句是否正確等編譯功能,宏就不具有這樣的功能。
(4)宏不是函數,inline函數是函數。
(5)宏在定義時要小心處理宏參數(一般情況是把參數用括號括起來),否則容易出現二義性。而內聯函數定義時不會出現二義性。
1:二者的區別如下:
(1)內聯函數在編譯時展開,宏在預編譯時展開。
(2)在編譯的時候,內聯函數可以直接被鑲嵌到目標代碼中,而宏只是一個簡單的文本替換。
(3)內聯函數可以完成諸如類型檢測、語句是否正確等編譯功能,宏就不具有這樣的功能。
(4)宏不是函數,inline函數是函數。
(5)宏在定義時要小心處理宏參數(一般情況是把參數用括號括起來),否則容易出現二義性。而內聯函數定義時不會出現二義性。