|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 用inline函数和宏定义什么区别?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
2080
人关注过本帖
标题:
用inline函数和宏定义什么区别?
只看楼主
加入收藏
zjsxwc
等 级:
黑侠
威 望:
1
帖 子:252
专家分:601
注 册:2011-1-20
结帖率:
93.75%
楼主
收藏
已结贴
√
问题点数:10 回复次数:4
用inline函数和宏定义什么区别?
我怎么感觉没区别
搜索更多相关主题的帖子:
函数
2011-01-31 20:03
举报帖子
使用道具
赠送鲜花
huangapple
等 级:
青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
第
2
楼
收藏
得分:3
inline 定义的函数如果你写了太多行,系统会放弃用内联的方式编译,会采用调用的方式
而宏定义就不管你写多少了
不知道是不是这样,还望其它人多多补充
勤能补拙,熟能生巧!
2011-02-01 00:02
举报帖子
使用道具
赠送鲜花
pangding
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
3
楼
收藏
得分:3
宏就是个字符串替换。
inline 更像是普通函数。
比如
#define m(a) ((a) + (a))
你希望用这个宏来得到参数的两倍。但有可能有人会这么用。
m(++x),并以为会先自增 x,然后得到自增后的两倍。
不过其实它被替换成了 ((++x) + (++x))。x 会自增两次,而且表达式的值还依赖编译器了。
如果用 inline 函数没有类似的问题。
当然还有点其它区别,用的时候可以自己体会之。记住宏只是机械的替换一下就行了。2 楼说的也是一方面。
[
本帖最后由 pangding 于 2011-2-1 00:39 编辑
]
2011-02-01 00:35
举报帖子
使用道具
赠送鲜花
cacker
该用户已被删除
第
4
楼
收藏
得分:3
提示:
作者被禁止或删除 内容自动屏蔽
2011-02-01 00:51
举报帖子
使用道具
赠送鲜花
pangding
来 自:北京
等 级:
贵宾
威 望:
94
帖 子:6784
专家分:16751
注 册:2008-12-20
第
5
楼
收藏
得分:0
哦,对。这两个预处理操作符确实给宏增色了不少。
反正能正确使用就行了。inline 在 C 语言里用的不是很多,而且也是 99 标准新加的。很多编译器可能对它支持的不是很好。
2011-02-01 09:43
举报帖子
使用道具
赠送鲜花
5
1/1页
1
快速回复:
用inline函数和宏定义什么区别?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.018840 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved