如果我们想要一个 switch 语句,其中对于每种情况我们都需要运行一些指令然后 break 我们会像这样:
switch (condition) {
case (opt1):
// do stuff
break;
case (opt2):
// do stuff
break;
case (opt3):
// do stuff
break;
// ...
default:
// do stuff
}
是否有可能有一个独占开关,没有失败,默认情况下每个选项都应该 break 而不必明确说明 break 指令?如果不是在 C++ 中,是否知道其他命令式语言是否提供这样的功能?
最佳答案
C# 也需要 break
,但如果你不放它就会对你大吼大叫。您需要 goto label;
才能明确通过。
在 C++ 中,没有办法在本地执行此操作(当然,除了可怕的宏之外)。但是,Clang 有 -Wimplicit-fallthrough
警告。然后,您可以插入 [[clang::fallthrough]];
以消除故意 fallthrough 的警告。
文档:http://clang.llvm.org/docs/AttributeReference.html#fallthrough-clang-fallthrough
关于c++ - 在 C++ 中的每个案例步骤自动中断的 Switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31118940/