【问题标题】:Do you need to break after you return false返回false后是否需要break
【发布时间】:2012-02-22 23:18:32
【问题描述】:

在 bool 函数内的 switch 语句中,我有这个。我是添加 break 还是暗示我对此很不擅长。

case Stop:
default:
    return false;
//break;??????

【问题讨论】:

  • 由于default 通常是交换机中的最后一种情况,break 变得双重冗余。由于返回,它无法访问,并且在任何情况下,break 作为switch 中的最后一件事只是跳转到您无论如何都会“退出”到的同一个地方,即@ 结束后的第一条语句987654326@。但不管它是否有任何作用,一些风格指南希望每个 case 有一个 break 或至少一个评论说“失败”,只是因为人们发现很容易忘记 break 当它是必需的。
  • @SteveJessop,当然default 不需要在 switch 语句的最后。而且由于许多人,无论出于何种原因,只需将新的 case 语句添加到 switch 的末尾,这似乎是一个很好的预防措施,不要让最终的案例/默认值落到最后。

标签: c++ return switch-statement break


【解决方案1】:

return 后,程序将不会到达 break,因此您可以从那里删除语句。

【讨论】:

    【解决方案2】:

    如果程序前面有 return 语句,程序将永远不会到达 break 语句。

    【讨论】:

      【解决方案3】:

      不需要中断,因为return 将是函数中执行的最后一条语句。

      【讨论】:

        【解决方案4】:

        这只是多余的,return 就足够了。

        【讨论】:

          【解决方案5】:

          不是“隐含”的,但由于代码永远不会到达那里,所以你不必写break;

          【讨论】:

            【解决方案6】:

            如果您从 default 返回,则不需要 case break 语句。

            你必须在你想要操作的所有case之后添加break语句并停止switch的工作,否则默认操作从函数返回。

            【讨论】:

            • 我会将其细化为“如果您从任何情况下返回”。
            猜你喜欢
            • 2013-11-17
            • 1970-01-01
            • 2016-12-05
            • 1970-01-01
            • 2011-06-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多