欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C++中的内联函数inline

程序员文章站 2022-03-15 13:37:36
...

内联函数:inline关键字的使用
  首先看一个简单的函数定义:

const string &short(const string &s1, const string &s2)
{
	return s1.size() <= s2.size() ? s1 : s2;
}

  上面是一个简单的函数,对应的返回其中的 string 的长度的最大值!

内联函数可以避免函数调用的开销,将函数指定为内联函数的(inline),通常就是将函数在每个调用的点上内联地展开,假设我们将上面的函数定义为内联的函数的时候!则如下的调用的过程将变为:

cout << short(s1, s2) << endl;

将在编译过程中展开成类似于下面的形式:

cout << (s1.size() <= s2.size() ? s1 : s2) << endl;

从而消除了short函数的运行时开销。将对应的函数申明为内联函数的方法只需要对应在函数定义的前面加上关键字inline即可!

inline const string &short(const string &s1, const string &s2)
{
	return s1.size() <= s2.size() ? s1 : s2;
}

内联说明只是向编译器发出一个请求,编译器可以选择忽略这个请求的!一般情况下:内联机制用于优化规模较小,流程直接、频繁调用的函数,很多编译器不支持内联递归函数,而且一个代码行数很长的代码也没法完成内联!

未完待续…

相关标签: c++