【发布时间】:2015-06-29 14:56:48
【问题描述】:
如果我们想要一个 switch 语句,对于每种情况我们需要运行一些指令然后 break 我们会这样:
switch (condition) {
case (opt1):
// do stuff
break;
case (opt2):
// do stuff
break;
case (opt3):
// do stuff
break;
// ...
default:
// do stuff
}
是否有可能有一个排他开关,而不会失败,默认情况下每个选项都应该中断并且不必显式声明中断指令?如果不是在 C++ 中,是否知道其他命令式语言中是否有这样的功能?
【问题讨论】:
-
没有像switch statements were designed to allow fallthrough这样的流控。如果你想避免
break,你可以使用if/else if/else(以轻微的性能损失为代价) -
要做到这一点,您必须消除跌倒,您为什么要这样做?这个功能太方便了。
-
我可能想要 swich 语句的那种派生形式,以提高代码的可读性,比如说行空间。作为扩展语言功能。
-
@Vee6
any idea if such a feature is available in other imperative languages?Pascal / Delphi
标签: c++ switch-statement