今天看到这样一个宏定义
#define rb_set_black(r) do { (r)->color = BLACK; } while (0)
do{}while(0)
为什么要把这么简单的事情复杂话,主要是希望将rb_set_black()这个宏定义作为一个函数来使用,必须加上;,否则不是一条语句。
今天看到这样一个宏定义
#define rb_set_black(r) do { (r)->color = BLACK; } while (0)
do{}while(0)
为什么要把这么简单的事情复杂话,主要是希望将rb_set_black()这个宏定义作为一个函数来使用,必须加上;,否则不是一条语句。