什麼是內聯函數
使用inline修飾函數的聲明或者實現,可以使其變成內聯函數 (建議聲明和實現都增加inline修飾)
特點
1.編譯器會將函數調用直接展開爲函數體代碼
2.可以減少函數調用的開銷
3.會增大代碼體積
注意 儘量不要內聯超過10行代碼的函數
有些函數即使聲明爲inline,也不一定會被編譯器內聯,比如遞歸函數
適用於函數體代碼較小且頻繁調用的函數
#include <iostream>
using namespace std;
inline int sum(int v1, int v2) {
return v1 + v2;
}
int main() {
int c=sum(10,20);
cout << c << endl;
getchar();
return 0;
}
關閉編譯器優化
右擊屬性
內聯之前
內聯之後
宏
內聯函數和宏,都可以減少函數調用的開銷
對比宏,內聯函數多了語法檢測和函數特性