内联函数
内联函数具有一般函数的基本特性,他与一般函数不同之处只在于函数调用的处理。在C++中使用内联函数,可以提高程序的执行效率。
对比宏定义。我们都知道宏定义不光不进行语法检查,而且具有二义性。而我们类内的内联函数,当内联函数代码较短时,被另一个函数调用时,选择直接在函数体内把代码展开,犹如宏替换一样。
Class A
{
Public:
nt func(int a)
{
return a;
};
}
//或者
Class A
{
Public:
//int func(int a);
int func(int a)
{
return a>>1;
}
int add(int a,int b)
{
int c=b+func(a);
return c;
}
};
//inline int A::add(int a)
//{
// return a>>1;
//}
这里我们注意卸载class内部的函数,而不是内部声明外部定义的函数,默认就是内联函数。而在外部定义的函数需要在函数前面手动加上inline才是内联。
我们可以把内联函数作为一般的函数一样进行调用,但是内联函数在需要的时候,会自动像宏一样展开,所以执行速度确比一般函数的执行速度要快。但是,内联函数也有一定的局限性,当内联函数内代码过多时,及内联函数的函数体过大,一般的编译器会放弃内联,而选择采用普通的方式调用函数。