日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

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

發(fā)布時(shí)間:2024/2/28 c/c++ 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。