什么是内联函数
内联函数是c++为提高程序运行速度所进行的一项改进。常规函数和内联函数之间的主要区别不在与编写方式。而在于c++编译器如何将他们组合到程序中。
c++内联函数提供了一种选择。内联函数编译的代码与其他程序代码“内联”起来。也就是说编译器将使用相应的函数代码替换函数调用,是一个典型的以空间换时间的模式。对于内联代码,程序无需跳到另一处位置执行代码,在跳回来。因此内联函数的运行速度比常规函数的速度快,但是代价是更多内存。内联函数的使用
要使用内联函数必须要使用以下几个措施:
1.在函数声明前面加上关键字inlie;
2.在函数定义前加上关键字inline;
示例代码:
#include<iostream>
inline double square(double x) {
return x * x;
}
int main()
{
using namespace std;
double a, b;
double c = 13.0;
a = square(5.0);
b = square(4.5 + 7.5);
cout << "a = " << a << ",b = " << b << "\n";
cout << "c = " << c;
cout << ",c squared = " << square(c++) << "\n";
cout << "NOW c = " << c << "\n";
system("pause");
return 0;
}
输出表明,内联函数和常规函数一样,也是按值来传参的。如果参数为表达式,如4.5+7.5,则函数表达式的值为12。这使得c++的内联功能远胜过c语言的宏定义。