這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)C++中避免使用goto語句的原因是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、貢覺網(wǎng)絡(luò)推廣、小程序設(shè)計、貢覺網(wǎng)絡(luò)營銷、貢覺企業(yè)策劃、貢覺品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供貢覺建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:redsoil1982.com.cn
Readability, avoidance of errors. There are better control structures for humans; goto is for machine generated code.
可讀性,避免錯誤。存在另外的更好的代碼結(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:
// ...
There is a fair amount of use of the C goto-exit idiom:
存在相當數(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ù)特別合適的使用場景。定義資源管理類,在它的析構(gòu)函數(shù)中執(zhí)行清除動作。如果由于某種原因,析構(gòu)函數(shù)不能在所有情況下中實現(xiàn)完全地清除,考慮使用gsl::finally作為清除器和goto的更可靠代替手段。
Enforcement(實施建議)
Flag goto. Better still flag all gotos that do not jump from a nested loop to the statement immediately after a nest of loops.
標記goto語句。最好標識所有的goto語句。只有一種例外情況:從嵌套循環(huán)內(nèi)跳轉(zhuǎn)到緊接在循環(huán)之后的代碼。
上述就是小編為大家分享的C++中避免使用goto語句的原因是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文題目:C++中避免使用goto語句?的原因是什么
本文URL:http://redsoil1982.com.cn/article22/pooicc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、自適應(yīng)網(wǎng)站、網(wǎng)站策劃、手機網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)