C++ 内联函数
内联函数
函数调用需调转到函数所在的地址,而内联函数直接将相应的代码替换函数调用,运行速度比函数快,但是需要占用更多的内存,内联函数不能递归,有些编译器可能也没有启用或者实现这种特性
- 在函数声明前加上关键字 inline
- 在函数定义前加上关键字 inline
通常做法是省略原型,将整个定义(即函数头和所有函数代码)放在本应提供原型的地方
1 |
|
不同于 c 语言的宏,内联函数是和函数一样进行值传,而宏是通过文本替换实现
1 |
|
所以上面两个语句只有第一个是正确的,除非改成
#define SQUARE(X) ((X)*(X))
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.