欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

内联函数和宏定义的差别

程序员文章站 2022-03-16 08:46:55
...

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

内联函数仅适用于如下情况:
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){}
相关标签: inline