首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
宏函数和内联函数的区别
[问答题]
宏函数和内联函数的区别
添加笔记
求解答(0)
邀请回答
收藏(31)
分享
纠错
5个回答
添加回答
12
牛客755284733号
1.宏是由预处理器对宏进行替代;而内联函数是通过编译器控制来实现的 2.宏定义只是简单的文本替换,内联函数直接被嵌入到目标代码中去 3.宏定义不是真正的函数,没有参数类型检查,不安全;而内联函数是真正的函数,有类型检查,更为安全 4.宏在定义时要注意参数,一般用括号括起来,否则容易出现二义性,而内联函数不会出现二义性
发表于 2022-09-14 16:52:13
回复(0)
0
正在卷的沸羊羊很快乐
宏函数:由预处理器对宏进行替代,只是简单的文本替换,不安全,容易出现二义性 内联函数:通过编译器控制来实现,是真正的函数有类型检查更加安全,不会出现二义性
发表于 2024-04-12 17:29:17
回复(0)
0
青山独归远1
- 宏函数是由预处理器在编译时进行文本替换,而内联函数是由编译器在编译时将函数体代码插入到调用处。 - 宏函数没有类型检查和参数检查,也没有作用域限制,而内联函数具有这些特性。 - 内联函数在编译时插入代码,可以避免函数调用的开销,但对于函数体较大或者包含复杂控制流的函数,内联可能会增加代码的体积,并不一定能提高性能。
编辑于 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
难度:
5条回答
31收藏
2708浏览
热门推荐
相关试题
运行 ldd hello 可以得到...
百度
C++
评论
(3)
假定一个待哈希存储的线性表为(32...
哈希
评论
(1)
5.下列判断正确的是( )
资料分析
言语理解与表达
资料分析
评论
(1)
《拳皇97》最后BOSS是谁?
游戏常识
评论
(1)
《魔兽世界》中,下列不属于玩家可以...
游戏常识
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题