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
,但这将是另一种语言。