C++内联函数
C 语言中有宏函数的概念。宏函数的特点是内嵌到调用代码中去,避免了函数调用
的开销。但是由于宏函数的处理发生在预处理阶段,缺失了语法检测和有可能带来的语
意差错。
宏函数 | 普通函数 | |
---|---|---|
优点 | 内嵌代码,避免压栈和出栈的开销 | 高度抽象,避免重复开发,类型检查 |
缺点 | 代码替换,易使生成代码体积变大,易产生逻辑错误,无类型检查。 | 压栈与出栈,带来开销 |
#include <iostream>
#include <string.h>
using namespace std;
#define SQR(x) ((x)*(x))
int sqr(int x)
{
return x*x;
}
int main()
{
int i=0;
while(i<5)
{
printf("%d\n",SQR(i++));
printf("%d\n",sqr(i++));
}
return 0;
}
内联函数
内联函数(inline function)是C++中的一种编程技巧,用于提高程序的执行效率。内联函数的基本思想是将函数调用替换为函数体,从而减少函数调用的开销。内联函数通常用于函数体较小且频繁调用的函数。
在C++中,可以通过在函数