Ale*_*x D 13 c macros
Stack Overflow关于do { ... } while(0)宏的使用有很多问题,但这有点不同.我理解为什么do { ... } while(0)用于在宏扩展中包装多行代码.但是我经常看到另一种形式:({ ... }).
do { ... } while(0)
({ ... })
该({ })表单的优点是它是一个表达式并且可以具有"返回值".它(主观地)读取也好于do { } while(0).那为什么不总是使用它?do { } while(0)相反,在宏中使用有什么优势?
({ })
do { } while(0)
Que*_*tin 31
因为({...})是GCC扩展.
({...})
归档时间:
10 年,3 月 前
查看次数:
530 次
最近记录: