类的内联函数

来源:互联网 发布:淮北网络推广培训学校 编辑:程序博客网 时间:2024/05/17 04:58

      程序开发的原则应该是“首先是使它可以工作,然后优化”。

      内联函数可以帮助隐藏类的底层实现,并使成员函数和预处理器宏一样有效。

      C语言中,宏的效率很高,很多情况下模拟了函数的行为,但是其总是隐藏了很多危险。对于C++中类来说,宏的概念作为内联函数(inline function)来实现,并且内联函数是真正的函数。内联函数能在适当的地方像宏一样展开,不需要函数调用的开销。

使用:

      任何在类中声明的函数自动成为内联函数(飞类的函数前面加上inline成为内联函数),但为了使之有效,必须使函数体和声明结合在一起,否则,编译器将它作为普通函数对待。

作用:

      1、内联函数一个作用是提高效率

      2、另一个作用是作为访问函数(access function),隐藏类的具体实现。如set() 和get()之类的小函数,容许读写修改对象内部变量。

限制:

      1、函数太复杂,如任何类的循环都被认为太复杂而不能扩展为内联函数,因为很容易使代码膨胀,而在性能上没有任何显著的改进。

      2、当要获取函数体制的时候,编译器不能执行内联,因为这时编译器必须产生一个函数的地址。


减少混乱:


为了减少混乱,可以在类的声明之外定义,最前面使用关键字inline。

0 0