switch (Close) {default: break;case tok::r_paren : LHSname = "("; DID = diag::err_expected_rparen; break;case tok::r_brace : LHSname = "{"; DID = diag::err_expected_rbrace; break;case tok::r_square: LHSname = "["; DID = diag::err_expected_rsquare; break;case tok::greater: LHSname = "<"; DID = diag::err_expected_greater; break;case tok::greatergreatergreater: LHSname = "<<<"; DID = diag::err_expected_ggg; break;}
我看到默认是在开头.是否有任何理由保持这种方式.通常我们会将默认值保留在最后,所以我有点困惑.
解决方法 只要您包含休息时间,订单就没有区别.顺便说一句,我喜欢在每个案例或默认值之前立即放置休息时间.验证遵循此规则比尝试展望每个案例陈述的结尾要容易得多.
switch (Close) { break; default: break; case tok::r_paren : LHSname = "("; DID = diag::err_expected_rparen; break; case tok::r_brace : LHSname = "{"; DID = diag::err_expected_rbrace; break; case tok::r_square: LHSname = "["; DID = diag::err_expected_rsquare; break; case tok::greater: LHSname = "<"; DID = diag::err_expected_greater; break; case tok::greatergreatergreater: LHSname = "<<<"; DID = diag::err_expected_ggg;}
如果你将break解释为“不要在任何其他情况下陷入这种情况”,你可能会发现这更容易理解.而不是“不要从这个案件陷入任何后续案件.”
在这种布局中,很容易看出是否缺少休息时间,因此迫使作者(和读者)问他/她“我想要在这里进行跟进吗?”.所有的休息时间排得很好,如果一个人失踪就很明显了.
澄清:我的答案中没有“魔力”.我只是以一种对我来说更易读的方式放置我的空白.空白并不重要,因此我可以自由地做到这一点.在交换机的最后一个中断是多余的.如果缺少,则不允许编译器循环到开关的顶部,就好像它是某种while循环一样.同样,交换机一开始的冗余中断不会发生任何变化,必须由编译器接受(并忽略).
总结以上是内存溢出为你收集整理的c – 默认位于开关块的开头全部内容,希望文章能够帮你解决c – 默认位于开关块的开头所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)