VS查看內聯函數的本質和宏

什麼是內聯函數

使用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;
}

關閉編譯器優化

右擊屬性
在這裏插入圖片描述

內聯之前

在這裏插入圖片描述

內聯之後

在這裏插入圖片描述

內聯函數和宏,都可以減少函數調用的開銷
對比宏,內聯函數多了語法檢測和函數特性
在這裏插入圖片描述

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