switch语句嵌套if_C++核心准则ES.70:进行选择时,switch语句比if语句好
生活随笔
收集整理的這篇文章主要介紹了
switch语句嵌套if_C++核心准则ES.70:进行选择时,switch语句比if语句好
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
ES.70: Prefer a switch-statement to an if-statement when there is a choice
ES.70:進(jìn)行選擇時(shí),switch語(yǔ)句比if語(yǔ)句好
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語(yǔ)句執(zhí)行的時(shí)常數(shù)比較運(yùn)算,相比一系列if-then-else語(yǔ)句,通常可以更好地被優(yōu)化。
- A switch enables some heuristic consistency checking. For example, have all values of an enum been covered? If not, is there a default?
- switch語(yǔ)句允許某些啟發(fā)式檢查。例如枚舉類(lèi)型的所有值是否都被覆蓋到了?如果沒(méi)有,是否設(shè)置的default選項(xiàng)?
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(實(shí)施建議)
Flag if-then-else chains that check against constants (only).
標(biāo)記和常數(shù)值進(jìn)行比較的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
覺(jué)得本文有幫助?請(qǐng)分享給更多人。
關(guān)注微信公眾號(hào)【面向?qū)ο笏伎肌枯p松學(xué)習(xí)每一天!
面向?qū)ο箝_(kāi)發(fā),面向?qū)ο笏伎?#xff01;
總結(jié)
以上是生活随笔為你收集整理的switch语句嵌套if_C++核心准则ES.70:进行选择时,switch语句比if语句好的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python安装scrapy框架命令_p
- 下一篇: 从C++20 shared_ptr移除u