溫馨提示×

溫馨提示×

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

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

C++中為什么適當(dāng)?shù)某橄蠛糜谥苯邮褂谜Z言功能

發(fā)布時間:2021-11-26 14:53:57 來源:億速云 閱讀:94 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“C++中為什么適當(dāng)?shù)某橄蠛糜谥苯邮褂谜Z言功能”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“C++中為什么適當(dāng)?shù)某橄蠛糜谥苯邮褂谜Z言功能”吧!

ES.2: 適當(dāng)?shù)某橄蠛糜谥苯邮褂谜Z言功能

Reason(原因)

“適當(dāng)?shù)某橄蟆保ɡ鐜旎蝾悾┍戎苯邮褂谜Z言功能更接近應(yīng)用概念,這會帶來更短、更清晰的代碼,很有可能被更好地測試。

Example(示例)

vector<string> read1(istream& is)   // good
{
   vector<string> res;
   for (string s; is >> s;)
       res.push_back(s);
   return res;
}

更加傳統(tǒng)的、低層次的差不多等價的代碼會更長,更亂,更難保證正確性,而且很有可能更慢。

char** read2(istream& is, int maxelem, int maxstring, int* nread)   // bad: verbose and incomplete
{
   auto res = new char*[maxelem];
   int elemcount = 0;
   while (is && elemcount < maxelem) {
       auto s = new char[maxstring];
       is.read(s, maxstring);
       res[elemcount++] = s;
   }
   nread = &elemcount;
   return res;
}

一旦增加了溢出檢查,錯誤處理,代碼會變得很亂,而且還存在需要記住銷毀返回的指針和數(shù)組包含的C風(fēng)格字符串的問題。

Enforcement(實施建議)

不容易,不容易。尋找混亂的循環(huán)、嵌套循環(huán)、長函數(shù)、函數(shù)調(diào)用缺失、很少被使用的內(nèi)置類型?還是確認圈復(fù)雜度?

到此,相信大家對“C++中為什么適當(dāng)?shù)某橄蠛糜谥苯邮褂谜Z言功能”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細節(jié)
AI