Inline函数是介于宏和普通函数之间的 函数体。集宏和普通函数的优点于一体
inline:
优点 : | 避免调用时的额外开销(入栈与出栈操作) |
代价 : | 由于内联函数的函数体在代码段中会出现多个"副本", 因此会增加代 码段的空间。 |
本质 : | 以牺牲代码段空间为代价, 提高程序的运行时间的效率。 |
适用场景: | 函数体很"小", 且被"频繁"调用。 |
//交换数值举例。
#include <iostream>
using namespace std;
inline int func(int & a, int & b) //inline ..
{
a ^= b;
b ^= a;
a ^= b;
}
int main()
{
int a = 1;
int b = 2;
func(a,b);
cout<<"a = "<<a<<"\n"<<"b = "<<b<<endl;
return 0;
}