首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
宏函数和内联函数的区别
[问答题]
宏函数和内联函数的区别
添加笔记
求解答(0)
邀请回答
收藏(32)
分享
纠错
6个回答
添加回答
12
牛客755284733号
1.宏是由预处理器对宏进行替代;而内联函数是通过编译器控制来实现的 2.宏定义只是简单的文本替换,内联函数直接被嵌入到目标代码中去 3.宏定义不是真正的函数,没有参数类型检查,不安全;而内联函数是真正的函数,有类型检查,更为安全 4.宏在定义时要注意参数,一般用括号括起来,否则容易出现二义性,而内联函数不会出现二义性
发表于 2022-09-14 16:52:13
回复(0)
0
realman_
宏是由预处理器对红进行替代。内联函数通过编译器控制来实现。宏定义为简单的文本替换,内联函数直接被嵌入到目标代码中。宏定义没有参数类型检查,内联函数有,更为安全。宏定义要注意参数,一般要用括号括起来,内联函数不会出现二义性。
发表于 2024-04-27 16:22:17
回复(0)
0
正在卷的沸羊羊很快乐
宏函数:由预处理器对宏进行替代,只是简单的文本替换,不安全,容易出现二义性 内联函数:通过编译器控制来实现,是真正的函数有类型检查更加安全,不会出现二义性
发表于 2024-04-12 17:29:17
回复(0)
0
嵌入式卡拉米
- 宏函数是由预处理器在编译时进行文本替换,而内联函数是由编译器在编译时将函数体代码插入到调用处。 - 宏函数没有类型检查和参数检查,也没有作用域限制,而内联函数具有这些特性。 - 内联函数在编译时插入代码,可以避免函数调用的开销,但对于函数体较大或者包含复杂控制流的函数,内联可能会增加代码的体积,并不一定能提高性能。
编辑于 2024-03-05 14:54:32
回复(0)
0
斯人_若彩虹
宏定义在预编译时展开,内联函数在编译时展开;内联函数可以检查函数参数和语句是否正确,而宏定义不具有这样的功能。
发表于 2023-08-18 10:05:38
回复(0)
0
牛客657168842号
1 宏函数是预处理是展开的,而内联函数是在编译阶段展开的。 2 宏函数在定义时要注意括号的使用,避免二义性,而内联函数不含产生二义性。 3宏函数没有安全类型检查和语句检查,只是简单地文本替换,而内联函数会进行安全类型检查和语句是否正确检查。
发表于 2022-10-29 15:08:03
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++
上传者:
real19931
难度:
6条回答
32收藏
2723浏览
热门推荐
相关试题
运行 ldd hello 可以得到...
百度
C++
评论
(3)
设某二叉树的先序遍历序列为abdg...
树
评论
(1)
之前的经历中单品数据分析的经验丰富...
评论
(1)
什么样的人适合做数据分析
评论
(1)
2022 诺瓦科技 Perl re...
perl
System Verilog
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题