内联函数的意义和时机
inline
是C++语言中的关键字,可以用于程序中定义内联函数\
inline void foo(int a); // 这就是内联函数的使用方式
内联函数是C++中的一种特殊函数
调用时并不通过函数调用的机制,而是通过将函数体直接插入到调用处(编译阶段会实现)
为什么这么设计?
-
这样做可以大大减少由函数调用带来的开销(多大程度?),从而提高程序的运行效率
-
一般来说,inline用于定义类的成员函数
内联的优点
-
没有了调用的开销,效率很高
-
编译器在调用一个内联函数时,会首先检查它的参数的类型,保证调用正确,然后进行一些列相关检查,就像对待任何一个真正的函数一样。这样就消除了它的隐患和局限性。(宏替换不会检查参数类型,安全隐患较大)