内联函数(inline)和普通函数相比可以加快程序的运行的速度,因为不需要中断调用,在编译的时候内联函数可以直接被镶嵌到目标代码中。而宏定义只是一个简单的替换。
inline是指嵌入代码,编译中不单独产生代码,而是将有关代码嵌入到调用处,就是在调用函数的地方不是跳转,而是把代码直接写到那里去。对于短小的代码而言,inline可以带来一定的效率提升,而且与C语言时代的宏函数相比,inline要做参数类型检查(宏函数只是在编译前(编译预处理阶段)将有关字符串进行宏替换)。可是这个是以增加空间消耗为代价的。