醉江楼的专栏

1.什么是内联函数?

内联函数,从形式上看就是普通函数首部前添加了一个inline,形式如下

inline(参数列表)

{

//语句

};

2.为什么引进内联函数?

内联函数与普通函数的区别在于,内联函数的调用不会转移程序控制权,而是在调用点处进行”内联”展开函数体,类似于宏展开(区别在于宏展开是由预处理器负责,而内联展开由编译器负责)。这样一来,可避免普通函数调用带来的开销。

3.什么情况适合用内联函数?

当代码量只有几行(一般5行以内),语句简单的时候。

因为,如果代码量大,会导致展开后的程序出现大量的重复“内联代码”,会消耗空间。

内联函数一般放置于头文件中。程序中多个源文件关于一个内联函数的定义必须保持一致。

4.几点注意事项

递归函数不能作为内联函数(显然不能,,总不能递归展开代码吧)

含有控制语句和开关语句的不能作为内联函数。

“inline”只是一个请求,编译器可根据实际情况,选择强制函数为普通函数。

多对自己说“我能行,我一定可以”,

醉江楼的专栏

相关文章:

你感兴趣的文章:

标签云: