#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之内联函数
最新推荐文章于 2024-02-21 14:25:48 发布