相关疑难解决方法(0)

做{...}而(0) - 有什么好处?

可能重复:
为什么在C/C++宏中有时会出现无意义的do/while和if/else语句?

我已经看了十多年了.我一直在努力思考它有什么好处.因为我主要在#defines中看到它,所以我认为它对内部范围变量声明和使用中断(而不是gotos)有好处.

对其他事情有好处吗?你用它吗?

c loops

315
推荐指数
4
解决办法
14万
查看次数

C多行宏:do/while(0)vs scope block

可能的重复:
当我们定义一个宏时,do(0)有什么用?
为什么在C/C++宏中有时会出现无意义的do/while和if/else语句?
做{...}而(0)有什么好处?

我已经看到一些包含在do/while(0)循环中的多行C宏,如:

#define FOO \
  do { \
    do_stuff_here \
    do_more_stuff \
  } while (0)

与使用基本块相反,以这种方式编写代码有什么好处(如果有的话):

#define FOO \
  { \
    do_stuff_here \
    do_more_stuff \
  }

c macros multiline

173
推荐指数
1
解决办法
10万
查看次数

标签 统计

c ×2

loops ×1

macros ×1

multiline ×1