#include<iostream>
using namespace std;
/*
*宏函數的優缺點
*宏函數像這樣的:#define SQR(i) ((i)*(i))
*優點:代碼內嵌,不用發生函數調用。
*缺點:容易產生歧義,易使text段體積增大,不會進行類型檢查
*/
/***
*
*函數的優缺點
*優點:一段高度抽象的邏輯,不易產生歧義,是text段體積小
*缺點:函數調用的壓棧和出棧的開銷
*/
/*
*所以出現了我們的內聯函數
*就是夾擱在普通函數和宏函數之間,結合了宏函數和普通函數的優缺點
*叫內聯函數 inline。
*但是這裏有個疑問了,既然有這麼多好處,爲何不把所有的函數inline呢
*優點:避免調用時候的開銷
*代價:由於內聯函數的函數體在代碼中會出現多個副本,因此會增加代碼的空間
*本質:以犧牲代碼空間爲代價,提供程序的運行時間的效率。
*使用場景:函數體很小,而且被頻繁調用
*/
inline int sqr(int x)
{
return x*x;
}
int main()
{
/*****
*
*/
int i=0;
while(i<5)
{
sqr(i);
}
}
C++學習day6之內聯函數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.