C++ 我是否可以匹配范围而不是C+;中的单个值+;开关语句?

C++ 我是否可以匹配范围而不是C+;中的单个值+;开关语句?,c++,switch-statement,C++,Switch Statement,我是编程新手。是否可以在开关箱中使用 比如说, ... ... ... int i; cin>> i; ... ... switch(i){ case 20<i<35 ... 。。。 ... ... int i; cin>>i; ... ... 开关(一){ 案例20C++不提供匹配范围的开关语法 当范围相对较小时,您可以提供案例标签,并依靠以下方法: switch(i) { case 20: case 21: case 22

我是编程新手。是否可以在开关箱中使用

比如说,

 ...
 ...
 ...
 int i;
 cin>> i;
 ...
 ...
 switch(i){
 case 20<i<35
 ...
。。。
...
...
int i;
cin>>i;
...
...
开关(一){

案例20C++不提供匹配范围的
开关
语法

当范围相对较小时,您可以提供案例标签,并依靠以下方法:

switch(i) {
    case 20:
    case 21:
    case 22:
    case 23:
    case 24:
    case 25: doSomething();
             break;
    case 26:
    case 27:
    case 28:
    case 29: doSomethingElse();
             break;
    ...
}
对于中等大小的范围(1000个元素左右),您可以使用函数对象向量来分派到特定逻辑,但这需要比编写简单的
switch
语句多得多的工作


对于大范围,您最好的选择是一系列
if
-
else
语句。

您考虑的语法是
20..35
,但这将是另一种语言。