内联函数和宏函数的区别

1.内联函数是代码比较简单的函数,不能包含复杂的控制语句,并且不能调用自身。

2.宏是在预编译的时候,替换目标字符串,简单的说就是替换代码。而内联函数是在编译的时候进行代码插入,编译器会在每次调用内联函数的时候进行代码展开,这样减少了函数的调用开销,提高了效率。

3.宏定义是不会进行安全检查的,而内联函数在编译的时候会进行类型检查,内联函数满足普通函数的各个性质。比如有返回值、参数列表等。

注意:

1.每一处内联函数的调用都要复制代码,将使程序的总代码量增大,消耗更多的内存空间。

2.如果函数体内出现循环,那么执行函数体内代码的时间要比函数调用的开销大。

2.内联不是什么时候都能展开的,一个好的编译器将会根据函数的定义体,自动地取消不符合要求的内联。

全部评论

相关推荐

菜鸡29号:根据已有信息能初步得出以下几点: 1、硕士排了大本和大专 2、要求会多语言要么是招人很挑剔要么就是干的活杂 3、给出校招薪资范围过于巨大,说明里面的薪资制度(包括涨薪)可能有大坑
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务