内联函数类似于宏(define),起直接替换的作用,但是两者有很大区别,最主要的区别是内联函数采用值传递。
1. 内联函数的意义
为一些简单的函数起直接替换的作用,免得一直需要去访问栈空间(函数)。
2. 适用场合
函数简单,不占内存的情况
3. 特点
值传递,先算值,再代入,区别宏
4. 例子
#define SQUARE(x) x*x
这里是将x*x直接代入
a=SQUARE(1+2);
实际a=1+2*1+2
inline square(double x){
return x*x;
}
a=square(1+2);
实际a=(1+2)*(1+2);
采用的是值传递,这一点和普通函数一样。当然函数可以值传递,也可以址传递,还可以引用传递