第九章 内联函数 Thinking in C++ V1

inline:

内联函数存在的理由:使用较小的空间代价获得较大的时间效率。

 

内联函数的函数体中不能出现循环和sewitch语句,否则编译器会自动将其转化为非内联函数。内联函数的函数名和函数体同时存在于符号表中。内联函数的函数体会嵌入调用内联函数的地方,而不会像其他函数那样使用call指令调用。

 

有两种情况编译器不会执行内联:

1、内联函数过于复杂,比如说内联函数中有循环或switch语句。

2、显式或隐式的取函数的地址。

 

内联函数的两种实现方法:

1、使用关键字inline声明函数。

2、在类中直接定义的函数,一般不推荐这种方法,因为这样做会破坏函数可读性。

 

C++规定只有在类声明结束后才会对内联函数进行计算。这样可以解决向前引用,即引用声明在自己之后的函数。

 

posted @ 2015-05-16 09:30  jiahu  阅读(105)  评论(0)    收藏  举报