C ++中是否可以使用以下内容?
switch (value) {
case 0:
// code statements
break;
case 1:
case 2:
// code statements for case 1 and case 2
/**insert statement other than break here
that makes the switch statement continue
evaluating case statements rather than
exit the switch**/
case 2:
// code statements specific for case 2
break;
}
我想知道是否有办法让switch语句继续评估其余的情况,即使它遇到匹配的情况。 (例如其他语言的continue
语句)
答案 0 :(得分:4)
一个简单的if
怎么样?
switch (value)
{
case 0:
// ...
break;
case 1:
case 2:
// common code
if (value == 2)
{
// code specific to "2"
}
break;
case 3:
// ...
}
答案 1 :(得分:2)
确定案例标签后,switch
无法继续搜索其他匹配标签。您可以继续处理以下标签的代码,但这并不区分达到case
标签的不同原因。所以,不,没有办法完成选择。实际上,C ++中禁止使用重复的case
标签。
答案 2 :(得分:1)