文件名称:使用内联函数代替函数宏-*重构*改善既有代码的设计(带完整书签)
文件大小:1.28MB
文件格式:PDF
更新时间:2024-06-27 17:56:06
C++ 编程规范
3.1 内联函数
规则3.1 内联函数(inline function)小于10行
说明:内联函数具有一般函数的特性,它与一般函数不同之处只在于函数调用的处理。一般函数进行
调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,
是将调用表达式用内联函数体来替换。
内联函数只适合于只有1~10行的小函数。对一个含有许多语句的大函数,函数调用和返回的开销相对
来说微不足道,也没有必要用内联函数实现,一般的编译器会放弃内联方式,而采用普通的方式调用
函数。
如果内联函数包含复杂的控制结构,如循环、分支(switch)、try-catch等语句,一般编译器将该函数
视同普通函数。虚函数、递归函数不能被用来做内联函数。
规则3.2 使用内联函数代替函数宏
说明:C++中也支持宏的功能,但是宏有其自身固有的缺陷(例如无法对参数进行类型检查),因此,能
使用内联函数的地方,一定不使用宏。
示例:
//较好的例子:
template