内联函数和宏定义的差别

来源:互联网 发布:济南seo外包公司 编辑:程序博客网 时间:2024/05/17 00:15

内联函数和普通函数相比可以加快程序运行的速度,因为不需要中断调用。
在编译的时候,内联函数直接被镶嵌到目标代码中,而宏只是一个简单的替换。
内联函数要做参数类型的检查,这是内联函数跟宏相比的优势。
因此,内联函数在和宏相比没有付出任何额外代价的情况下更安全。

内联函数仅适用于如下情况:
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){}
原创粉丝点击