一 inline函数概述:
(1)inline只是对编译器的一个申请,不是强制命令。申请方式:隐式申请(将函数定义于class定义式内);显式申请(将inline函数定义前加上关键字inline)。
(2)inline函数的优点:
*免除函数调用成本;
*方便编译器的优化机制进行优化;
(3)inline函数的缺点:
*过度热衷inline会造出代码膨胀;
*inline函数无法随程序库的升级而升级,一旦决定改变inline函数的,所有使用到inline函数的客户程序都必须重新编译;
*大部分调试器对inline函数束手无策。
(4)将大多数inline限制在小型、被频繁调用的函数上。
二 inline函数定义的位置:
(一)最好把inline函数定义放在头文件(inline函数不会造成重复定义):
1.编译器需要在调用点内联展开inline函数的代码,所有inline函数的定义对编译器必须是可见的。
2.在头文件中加入或修改inline函数时,使用了该头文件的所有源文件都必须重新编译。
(二)类定义的内部定义。