欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

switch语句嵌套if_C++核心准则ES.70:进行选择时,switch语句比if语句好

发布时间:2024/2/28 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 switch语句嵌套if_C++核心准则ES.70:进行选择时,switch语句比if语句好 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

ES.70: Prefer a switch-statement to an if-statement when there is a choice

ES.70:进行选择时,switch语句比if语句好

Reason(原因)

  • Readability.
  • 可读性
  • Efficiency: A switch compares against constants and is usually better optimized than a series of tests in an if-then-else chain.
  • 效率:switch语句执行的时常数比较运算,相比一系列if-then-else语句,通常可以更好地被优化。
  • A switch enables some heuristic consistency checking. For example, have all values of an enum been covered? If not, is there a default?
  • switch语句允许某些启发式检查。例如枚举类型的所有值是否都被覆盖到了?如果没有,是否设置的default选项?

Example(示例)

void use(int n){ switch (n) { // good case 0: // ... break; case 7: // ... break; default: // ... break; }}

rather than(而不是):

void use2(int n){ if (n == 0) // bad: if-then-else chain comparing against a set of constants // ... else if (n == 7) // ...}

Enforcement(实施建议)

Flag if-then-else chains that check against constants (only).

标记和常数值进行比较的if-then-else判断链(只限于这种情况)

原文链接

https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es70-prefer-a-switch-statement-to-an-if-statement-when-there-is-a-choice


觉得本文有帮助?请分享给更多人。

关注微信公众号【面向对象思考】轻松学习每一天!

面向对象开发,面向对象思考!

总结

以上是生活随笔为你收集整理的switch语句嵌套if_C++核心准则ES.70:进行选择时,switch语句比if语句好的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。