这两天在看别人代码时,发现别人在宏定义中使用了do...while语句,百思不得其解,于是在网上查找了一番,现总结了一下,转帖出来共享!#define MACRO_NAME(para) do{macro content}while(0)的格式,总结了以下几个原因:1,空的宏定义避免warning:#define foo() do{}while(0)2,存在一个独立的block,可以用来进行变量定义,进行比较复杂的实现。3,如果出现在判断语句过后的宏,这样可以保证作为一个整体来是实现:#define foo(x) \action1(); \action2();在以下情况下:if(NULL == ![](http://www.cnblogs.com/rollenholt/aggbug/1907414.html?type=2)
作者: Rollen Holt 发表于 2010-12-16 00:10 原文链接
评论: 0 查看评论 发表评论
最新新闻:
· 在线比价搜索引擎Shop.com出售 盖茨曾投资(2010-12-16 08:54)
· 邓元鋆离职背后:诺基亚中国腹背受敌(2010-12-16 08:53)
· 央行:超级网银收费将降低(2010-12-16 08:52)
· Android和iPhone平台2010年度最佳软件和游戏榜单出炉(2010-12-16 08:50)
· 京东遭遇出版社集体逼宫 今日恢复原价改返券(2010-12-16 08:48)
网站导航:博客园首页 我的园子 新闻 闪存 小组 博问 知识库
文章来源:
http://www.cnblogs.com/rollenholt/articles/1907414.html
posted on 2010-12-16 00:10
Rollen Holt 阅读(63)
评论(0) 编辑 收藏 引用