C++ 内联函数(inline)
什么是内联函数
内联函数是为了解决C++预处理器宏存在的问题所提出一种解决方案,用来提高函数使用效率
内联函数定义
内联函数使用inline关键字定义,
并且函数体和申明必须结合在一起,
否则编译器将他作为普通函数对待。
inline void function(int x); //仅仅是申明函数,没有任何效果
inline void function(int x) //正确
{
return ++x;
}
在类内部定义的函数自动的为内联函数,
不需要加关键字inline。
class point
{
int i;
public:
void SetValue(int x) //内联函数
{
i = x;
}
}
内联函数和普通函数的区别
普通函数:
编译器在它的符号表中放入函数类型(包含名字和参数类型的函数原型及函数的返回类型)。
内联函数:
函数的代码也被放入符号表,代码是以源程序形式还是以编译过的汇编指令形式存放取决于编译器。
当内联函数太复杂,编译器将不能执行内联。