第九章 内联函数 Thinking in C++ V1
inline:
内联函数存在的理由:使用较小的空间代价获得较大的时间效率。
内联函数的函数体中不能出现循环和sewitch语句,否则编译器会自动将其转化为非内联函数。内联函数的函数名和函数体同时存在于符号表中。内联函数的函数体会嵌入调用内联函数的地方,而不会像其他函数那样使用call指令调用。
有两种情况编译器不会执行内联:
1、内联函数过于复杂,比如说内联函数中有循环或switch语句。
2、显式或隐式的取函数的地址。
内联函数的两种实现方法:
1、使用关键字inline声明函数。
2、在类中直接定义的函数,一般不推荐这种方法,因为这样做会破坏函数可读性。
C++规定只有在类声明结束后才会对内联函数进行计算。这样可以解决向前引用,即引用声明在自己之后的函数。

浙公网安备 33010602011771号