gcc 中有一个扩展允许在 switch case 语句中使用“range”。
case 'A' ... 'Z':
允许判断字符在 A 到 Z 范围内的任何位置。
是否可以在这样的范围语句中进行“排除”?例如,假设我希望我的案例捕获除“G”和“L”之外的所有字符 A-Z。
我知道一个简单的解决方案是处理 A-Z 大小写正文中的特殊字符,但如果存在上述解决方案我更愿意
最佳答案
char c = /* init */;
switch(c)
{
case 'A' ... ('G'-1):
case ('G'+1) ... ('L'-1):
case ('L'+1) ... 'Z':
/* some code */;
}
但我猜是
a simple solution ... to handle the special characters within the body of the A-Z case
会比上面的代码好得多。
关于c++ - 在带有排除 C++ 的 switch 案例中使用范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54372688/