一、基本概念
inline
修饰的函数叫内联函数,编译后会在调用内联函数的地方展开,没有调用函数的开销,可以提高程序运行的效率。
例子:
//inline 修饰的函数叫内联函数
inline void swap(int& a, int& b)
{
int t = a;
a = b;
b = t;
}
但是inline
只是给编译器的一个建议,编译器自己会决定内联函数是否在调用处展开。
内联函数展开是一种空间换时间的做法,可能会造成代码膨胀,但是运行时少了函数调用的开销。
二、使用习惯
习惯上,对于规模较小(一般不超过十行)、调用频繁且不含递归的函数,可以使用inline
修饰。
但是内联函数具体会不会展开,取决于编译器。
内联函数的使用场景让我们很容易想到 C 语言中的宏函数(传送门), C++ 中我们一般用内联函数取代宏函数,因为内联函数更安全、好维护。
三、注意事项
内联函数的声明和定义必须在同一个文件中,否则会导致链接错误。文章来源:https://www.toymoban.com/news/detail-658708.html
建议直接在头文件中定义内联函数,不用单独声明。文章来源地址https://www.toymoban.com/news/detail-658708.html
到了这里,关于【C++入门】内联函数的秘密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!