读书人

笔考试题(8)

发布时间: 2012-10-11 10:16:10 作者: rapoo

笔试题(8)

宏和inline的区别?

1. inline函数和宏都是在程序出现的地方展开,不是通过函数调用实现的。

2. 宏展开的时间和inline函数不同,inline函数是在编译期间完成展开,宏是在预编译间展开,如果从宏观上看,可以认为是在编译期间展开。

3. inline函数可以在编译期间要对参数类型进行检测,宏不进行检测

4. inline可以不展开,宏一定要展开。因为inline指示对编译器来说,只是一个建议,编译器可以选择忽略该建议,不对该函数进行展开。

5. inline可以有正规的返回值,宏不行。

读书人网 >编程

热点推荐