最近在写程序的时候,为了调高程序的执行效率,想使用内联函数,就看了《Think In C++》里面关于内联函数的那一章。这一章讲了内联函数的使用,内联函数和预处理器的区别,以及内联函数使用的限制。
为什么要使用内联函数:
为了既保持预处理器宏的效率又增加安全性,而且还能像一般成员函数一样可以在类里访问自如。
宏的缺点是:1.宏只是对字符串的简单替代,这样编译器不会对其进行类型检查,这样就不可以对其进行调试,宏就隐藏了难以发现的错误。
2.预处理器不允许访问类的成员数据,预处理器宏不能用作类的成语函数。
内联函数的定义:
1.在函数定义前面放一个inline关键字,但在类内部定义的时候不用加。任何在类内部定义的函数自动成为内联函数。
内联函数的限制:
1.假如函数太复杂,编译器将不能执行内联。一般的,任何种类的循环都被认为太复杂而不扩展为内联函数。
2.假如要显示的或者隐式的取函数的地址,编译器也不能执行内联。
只有在类声明结束以后,其中的内联函数才会被计算。