亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中怎么使用default

發布時間:2021-11-26 13:34:15 來源:億速云 閱讀:662 作者:iii 欄目:大數據

本篇內容介紹了“C++中怎么使用default”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

ES.79:使用default處理一般case

Reason(原因)

Code clarity. Improved opportunities for error detection.

代碼清晰性。增加發現錯誤的機會。

Example(示例)

enum E { a, b, c , d };

void f1(E x)
{
   switch (x) {
   case a:
       do_something();
       break;
   case b:
       do_something_else();
       break;
   default:
       take_the_default_action();
       break;
   }
}

Here it is clear that there is a default action and that cases a and b are special.

可以清晰地看出存在一個默認case,而a和b是特殊case。

Example(示例)

如果就是沒有默認動作,你只想處理特殊case時應該怎么做呢?這種情況下,保留一個空的默認處理,否則不可能知道你是否意圖處理所有case。

void f2(E x)
{
   switch (x) {
   case a:
       do_something();
       break;
   case b:
       do_something_else();
       break;
   default:
       // do nothing for the rest of the cases
       break;
   }
}

如果漏掉了default,維護者或者編譯器可能會合情合理的假設你意圖處理所有case。

void f2(E x)
{
   switch (x) {
   case a:
       do_something();
       break;
   case b:
   case c:
       do_something_else();
       break;
   }
}

你是忘記了case d還是故意遺漏的?忘記一個case通常發生在增加枚舉值之后卻沒有為所有switch語句增加針對該值的處理的時候。

Enforcement(實施建議)

標記針對枚舉類型的、沒有處理所有枚舉值并且不包含default處理的switch語句。對于某些代碼這種做法可能會產生太多的假陽性;如果發生這種情況,只標記處理了大部分case但不是全部case的情況(這正是很早期的C++編譯器采用的策略)。

“C++中怎么使用default”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临潭县| 马尔康县| 嘉义市| 桦甸市| 阿瓦提县| 谢通门县| 泸州市| 常熟市| 呼图壁县| 武穴市| 榆社县| 来宾市| 安溪县| 陆河县| 宜良县| 莫力| 扬中市| 南乐县| 合山市| 雅安市| 日喀则市| 昌吉市| 望谟县| 道孚县| 荥经县| 通州市| 太白县| 衡阳县| 象山县| 西盟| 广东省| 静安区| 廊坊市| 蒙自县| 延寿县| 湾仔区| 汤阴县| 甘孜县| 静海县| 进贤县| 渝北区|