上一篇我们介绍了#define函数的缺陷后,本篇我们介绍C++中我们使用内联函数来替代#define。
内联函数本身也是一个真正的函数。
和普通函数不同的是,在前面加一个 inline 关键字。
注意点:
1、声明的时候 加了 inline但是实现的时候没有加,那么这个函数不是inline函数。
必须在声明和实现的地方都加。
inline void func(int a); //声明
void func(int a) { a++; } //无效,不是内联函数
inline void func(int a); //声明
inline void func(int a) { a++; } //有效,实现部分有inline关键字
内联函数其实是以空间换时间的方式。
内联函数在类内部可以不用关键字,编译器会自动将行数少的函数转成inline函数。