内联函数和普通函数相比可以加快程序运行的速度,因为不需要中断调用。
在编译的时候,内联函数直接被镶嵌到目标代码中,而宏只是一个简单的替换。
内联函数要做参数类型的检查,这是内联函数跟宏相比的优势。
因此,内联函数在和宏相比没有付出任何额外代价的情况下更安全。
内联函数仅适用于如下情况:
1、一个函数不断被重复调用
2、函数只有简单的几行,且函数内不包含for、while、switch语句。
内联函数的定义方法:
关键字inline必须和函数定义体放在一起才能使函数成为内敛,仅将inline放在函数声明前不起任何作用。如下:
//不能成为内联函数的写法
inline void Foo(int x,int y);
void Foo(int x,int y){}
//正确的内联函数定义方法
void Foo(int x,int y);
inline void Foo(int x,int y){}