真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++中避免使用goto語(yǔ)句?的原因是什么

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)C++中避免使用goto語(yǔ)句的原因是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、貢覺網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、貢覺網(wǎng)絡(luò)營(yíng)銷、貢覺企業(yè)策劃、貢覺品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供貢覺建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

Reason(原因)

Readability, avoidance of errors. There are better control structures for humans; goto is for machine generated code.

可讀性,避免錯(cuò)誤。存在另外的更好的代碼結(jié)構(gòu)可用。

Exception(例外)

Breaking out of a nested loop. In that case, always jump forwards.

從嵌套循環(huán)中跳出。這種情況下,總是向前(代碼執(zhí)行角度的向前,譯者注)跳。

for (int i = 0; i < imax; ++i)
   for (int j = 0; j < jmax; ++j) {
       if (a[i][j] > elem_max) goto finished;
       // ...
   }
finished:
// ...

Example, bad(反面示例)

There is a fair amount of use of the C goto-exit idiom:

存在相當(dāng)數(shù)量的使用goto-exit慣用法的C代碼。

void f()
{
   // ...
       goto exit;
   // ...
       goto exit;
   // ...
exit:
   // ... common cleanup code ...
}

This is an ad-hoc simulation of destructors. Declare your resources with handles with destructors that clean up. If for some reason you cannot handle all cleanup with destructors for the variables used, consider gsl::finally() as a cleaner and more reliable alternative to goto exit。

這是析構(gòu)函數(shù)特別合適的使用場(chǎng)景。定義資源管理類,在它的析構(gòu)函數(shù)中執(zhí)行清除動(dòng)作。如果由于某種原因,析構(gòu)函數(shù)不能在所有情況下中實(shí)現(xiàn)完全地清除,考慮使用gsl::finally作為清除器和goto的更可靠代替手段。

Enforcement(實(shí)施建議)

  • Flag goto. Better still flag all gotos that do not jump from a nested loop to the statement immediately after a nest of loops.

  • 標(biāo)記goto語(yǔ)句。最好標(biāo)識(shí)所有的goto語(yǔ)句。只有一種例外情況:從嵌套循環(huán)內(nèi)跳轉(zhuǎn)到緊接在循環(huán)之后的代碼。

上述就是小編為大家分享的C++中避免使用goto語(yǔ)句的原因是什么了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


分享題目:C++中避免使用goto語(yǔ)句?的原因是什么
分享地址:http://weahome.cn/article/pooicc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部