c – 默认位于开关块的开头

c – 默认位于开关块的开头,第1张

概述在浏览解析器的代码时,例如, Parser.cpp里面clang编译器的clang / Parse目录 switch (Close) {default: break;case tok::r_paren : LHSName = "("; DID = diag::err_expected_rparen; break;case tok::r_brace : LHSName = "{"; DID = 在浏览解析器的代码时,例如,Parser.cpp里面clang编译器的clang / Parse目录

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 – 默认位于开关块的开头所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1225843.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存