2013年11月28日

为什么使用do{}while(0)来进行宏定义

摘要: 最近发现很多代码在进行宏定义的时候使用喜欢使用#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 == pPointer) foo();就会出现action1和action2不会同时被执行的.. 阅读全文

posted @ 2013-11-28 16:08 DerDeath 阅读(470) 评论(0) 推荐(0) 编辑

导航

"); }); },1000); });