是否有 hack 来支持 c(99?) 或 Objective C switch 语句中的范围情况?
我知道不支持这样写:
switch(x)
case 1:
case 2..10:
case 11:
但我认为应该有一种方法可以使用 #define 宏生成代码。当然
我可以用案例列表定义一个宏,但我希望有一种更优雅的方式,例如
CASERANGE(x,x+10) 将生成:
case x
case x+1
case x+2
有可能吗?
海湾合作委员会有一个C语言的扩展 http://gcc.gnu.org/onlinedocs/gcc/Case-Ranges.html#Case-Ranges这允许与您的第一个示例类似的操作,但除此之外,如果有一种可移植/ANSI 的方式来执行此操作,那么现在就已经完成了。我不相信有这样一个。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)