91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

峨眉山市| 榆中县| 宿松县| 邓州市| 雅安市| 屏东县| 杂多县| 阆中市| 和顺县| 礼泉县| 祁阳县| 长白| 汾西县| 田东县| 内乡县| 子洲县| 南城县| 得荣县| 南和县| 庐江县| 巴东县| 陕西省| 霍城县| 天气| 夏邑县| 松溪县| 阳新县| 福鼎市| 河曲县| 廊坊市| 石嘴山市| 罗甸县| 汶川县| 宁海县| 西乌珠穆沁旗| 孝义市| 奎屯市| 沁阳市| 泗阳县| 塘沽区| 湘乡市|