今天开始就要进去学习C++的语法了。首先,我们要知道的是,C++是补充了C的不足之处,所以C++是包容C的。
首先要介绍的是内联函数:什么函数呢?内联函数就是在一定的条件处是展开的。关键字是inline。我们先看看一下的代码:
#include<iostream>
using namespace std;
inline void test()
{
cout << '1' << endl;
cout << '1' << endl;
cout << '1' << endl;
cout << '1' << endl;
cout << '1' << endl;
cout << '1' << endl;
cout << '1' << endl;
cout << '1' << endl;
cout << '1' << endl;
}
int main()
{
test();
return 0;
}
我用写了一个内联函数,写了几行输出代码,我们来看看他是否展开:
我们明显看到,这里是没有展开的,这是为什么呢?其实这个是因为内联函数对于编译器来说只是一个建议,编译器可以选择不展开,因为展开之后,会使可执行程序变大,所以内联函数只有当指令行数比较小的时候才会展开。
而内联函数要想展开的话,它里面的代码行数是1-10行左右,但是我个人认为的是应该和他的汇编指令有关。
注:递归函数是不会展开的,代码行数过大也是不会展开的,还有,内联函数最好是不要把声明和定义分开,这样子会有链接错误。
以上就是内联函数的讲解,大家喜欢的话就点一下赞吧!