在C ++中的每个案例步骤中使用自动中断来切换语句

如果我们想要在每种情况下都有一个switch语句,那么我们需要运行一些指令,然后打破,我们会这样做:

switch (condition) {
   case (opt1):
      // do stuff
      break;
   case (opt2):
      // do stuff
      break;
   case (opt3):  
      // do stuff
      break;
   // ...
   default:
      // do stuff
}

是否可以有一个独占开关,没有经过,在默认情况下,每个选项都应该中断,而不必明确声明break指令? 如果不是在C ++有任何想法,如果这样的功能可用于其他命令式语言?


C#也需要break ,但是如果你不这样做,就会对你大喊大叫。 你需要goto label; 明确地通过。

在C ++中,没有办法在本地执行此操作(当然,除了可怕的宏)。 但是, -Wimplicit-fallthrough有一个 - -Wimplicit-fallthrough警告。 然后你可以插入[[clang::fallthrough]]; 以沉默警告故意坠落。

文档:http://clang.llvm.org/docs/AttributeReference.html#fallthrough-clang-fallthrough


“Golang没有自动落下”。 https://golang.org/doc/effective_go.html#switch

链接地址: http://www.djcxy.com/p/14801.html

上一篇: Switch statement with automatic break at each case step in C++

下一篇: Declared variable within a switch block