inline 這個名稱可以反映出它的工作方式,函數會在它所調用的位置上展開.這麼做可以消除函數調用和返回所帶來的開銷(寄存器存儲和恢復),而且,編譯器會把調用函數的代碼和函數本身放在一起進行優化,所以有進一步優化代碼的可能.
不過這麼做是有代價的,代碼會變長,這也就意味著占用更多的內存空間或者占用更多的指令緩存.
內核開發者通常把那些對時間要求比較高,而本身長度又比較短的函數定義成內聯函數.
內聯函數必須在使用之前就定義好,否則編譯器就沒法把這個函數展開,實踐中一般在頭文件中定義內聯函數.
C++對C的函數拓展
為什麼C程序裡一定要寫main函數
C++基礎基礎:C與C++的區別
為什麼 C++ 成員函數指針是 16 字節寬的
C函數和C++函數相互調用
C/C++函數調用約定
C/C++函數調用的幾種方式
Linux C/C++(或標准C++或標准C)編程雜記