+ -
当前位置:首页 → 问答吧 → 写do{}while(0)的原因

写do{}while(0)的原因

时间:2010-08-18

来源:互联网

本帖最后由 yylogo 于 2010-08-18 16:06 编辑

比如
#define swap(a, b) do{\
a ^= b;\
b ^= a;\
a ^= b;\
}while(0)

作者: yylogo   发布时间: 2010-08-18

前两天论坛还讨论了这个宏,起主要原因是这个宏的副作用很小。
楼主可以google下do while(0)宏

作者: davelv   发布时间: 2010-08-18

回复 yylogo


    我觉得最主要是为了可以引用的时候使用分号, 代码看着舒服,
   并且在if。。。else语句里引用宏的时候舒服

作者: chong232   发布时间: 2010-08-18

这个话题比较月经了,你在论坛搜索C/C++版里头关于”while (0)“的主题吧,你会看到你想要的

作者: daybreakcx   发布时间: 2010-08-18