程序开发的原则应该是“首先是使它可以工作,然后优化”。
内联函数可以帮助隐藏类的底层实现,并使成员函数和预处理器宏一样有效。
C语言中,宏的效率很高,很多情况下模拟了函数的行为,但是其总是隐藏了很多危险。对于C++中类来说,宏的概念作为内联函数(inline function)来实现,并且内联函数是真正的函数。内联函数能在适当的地方像宏一样展开,不需要函数调用的开销。
使用:
任何在类中声明的函数自动成为内联函数(飞类的函数前面加上inline成为内联函数),但为了使之有效,必须使函数体和声明结合在一起,否则,编译器将它作为普通函数对待。
作用:
1、内联函数一个作用是提高效率。
2、另一个作用是作为访问函数(access function),隐藏类的具体实现。如set() 和get()之类的小函数,容许读写修改对象内部变量。
限制:
1、函数太复杂,如任何类的循环都被认为太复杂而不能扩展为内联函数,因为很容易使代码膨胀,而在性能上没有任何显著的改进。
2、当要获取函数体制的时候,编译器不能执行内联,因为这时编译器必须产生一个函数的地址。
减少混乱:
为了减少混乱,可以在类的声明之外定义,最前面使用关键字inline。