内联函数(c++)
预处理:优点:内嵌到目标代码,减少函数的调用。
缺点:在预处理阶段完成替换,避免了语义上的差错。
egg: #define SQR(X) ((X)*(X))
函数:优点:完成了某一类操作的抽象,避免了相同功能重复开发。
缺点:无法避免压栈与出栈的开销
egg: int sqr(int x)
{
return x*x;
}
内联函数:内嵌到目标代码,减少函数的调用。完成了某一类操作的抽象,避免了相同功能重复开发。有类型检查,避免了语义上的差错和压栈出栈的开销。
inline int sqr(int x)
{
return x*x;
}
用inline则代码最好不要超过5行