1、为什么需要inline
C中的宏没有调用,参数压栈、返回操作所以比函数快,但是有参数副作用,inline为了取代这种表达式形式的宏定义,它消除了宏定义的缺点,同时又很好地继承了宏定义的优点。
2、inline如何使用以及特点
1)、inline一般写
在C++函数定义的前面,一般主要是长度不长经常调用的函数,比如
inline void f()
{
/**
**/
}
2)、inline 定义的类的内联函数,函数的代码被放入符号表中,在使用时直接进行替换,(像宏一样展开),没有了调用的开销,效率也很高
3)、类的内联函数也是一个真正的函数,编译器在调用一个内联函数时,会首先检查它的参数的类型,保证调用正确。然后进行一系列的相关检查,就像对待任何一个真正的函数一样。这样就消除了它的隐患和局限性
4)、使用inline函数完