请帮我解释一下下面的宏定义

whp320 2009-08-10 01:13:02
在sal.h中有很多类似的宏定义:
#define _Out_cap_m_(mult,size) _Pre_cap_m_(mult,size) _Pre_invalid_
这一看就是函数的宏定义。那么,下面这样就好了:
#define _Out_cap_m_(mult,size) _Pre_cap_m_(mult,size)
后面的那个_Pre_invalid_是做什么用的?
...全文
128 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yshuise 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 whp320 的回复:]
引用 1 楼 yshuise 的回复:
这个要看上下文,  _Pre_invalid_  从语法来看没有问题。
假如  _Pre_invalid_   也是宏定义呢?

_Pre_invalid_确实也是个宏定义,这一点很明显。这个宏怎么看才是正确的?把
_Pre_cap_m_(mult,size)    _Pre_invalid_ 看成是一体嘛?
[/Quote]
宏要管一行。如果行的末尾用 "\",那么下一行仍然属于此宏。

特别要注意的是:
定义时,#define _Out_cap_m_(mult,size)
"_Out_cap_m_"和"("之间没有空格。
但是在调用时可以有空格。

bfhtian 2009-08-10
  • 打赏
  • 举报
回复
想理解清楚的话,最好把在程序中应用的地方,将宏展开,然后再分析,只讨论宏的定义是很难看出用处的
mengfanfeigogo 2009-08-10
  • 打赏
  • 举报
回复
后面两个是一个整体,不过这样用很怪啊
mstlq 2009-08-10
  • 打赏
  • 举报
回复
应该看成一体, _Pre_invalid_ 还需要展开^_^
whp320 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yshuise 的回复:]
这个要看上下文,  _Pre_invalid_  从语法来看没有问题。
假如  _Pre_invalid_  也是宏定义呢?
[/Quote]
_Pre_invalid_确实也是个宏定义,这一点很明显。这个宏怎么看才是正确的?把
_Pre_cap_m_(mult,size) _Pre_invalid_ 看成是一体嘛?
yshuise 2009-08-10
  • 打赏
  • 举报
回复
这个要看上下文, _Pre_invalid_ 从语法来看没有问题。
假如 _Pre_invalid_ 也是宏定义呢?

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧