C++内联函数
2023-12-18 21:57:44 # 技术

内联函数

许多程序员使用带有参数的宏来完成简单函数的调用。宏替换的好处是没有函数调用的开销,能够加快代码的执行。
但宏替换是一种无类型机制,只能实现比较简单的功能,有时还会产生预期之外的副作用。而函数正好相反。
为了结合宏替换和函数的优点,C++语言允许定义内联函数。在函数原型前加上 inline 表示这是一个内联函数。例如:

1
inline void function(int a, int b);

在编译时,会将将调用内联函数的地方用相应的函数体替换,能够加快代码的执行,减少函数调用的开销。

需要注意的是,不是所有的函数都需要定义为内联函数,在使用内联函数时要注意一下事项:

  • 内联函数内不允许有循环语句和开关语句。如果内联函数内有这些语句,则按普通函数处理。
  • 内联函数的函数体不宜过长,以1~5行为宜。