第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C或C+中的Gotos示例

C或C+中的Gotos示例

C
哈士奇WWW 2019-07-26 17:14:39
C或C+中的Gotos示例在這個線程中,我們將查看使用goto在C或C+中。它的靈感來自回答人們投票贊成是因為他們認(rèn)為我在開玩笑。摘要(標(biāo)簽從原版改為使意圖更加清晰):infinite_loop:     // code goes heregoto infinite_loop;為什么它比其他選擇更好:很具體。goto是導(dǎo)致無條件分支的語言結(jié)構(gòu)。可選方案取決于使用支持條件分支的結(jié)構(gòu),其條件總是退化的。標(biāo)簽記錄了意圖,沒有額外的注釋。讀者不必提前掃描中間的代碼breakS(盡管無原則的黑客仍然有可能模擬continue早早goto).規(guī)則:假裝守望者沒有贏。據(jù)了解,以上這些不能在實際代碼中使用,因為它與已建立的成語背道而馳。假設(shè)我們都聽說過‘Goto認(rèn)為有害’,并知道Goto可以用來編寫意大利面代碼。如果你不同意一個例子,那么僅僅根據(jù)技術(shù)上的優(yōu)點來批評它(因為人們不喜歡Goto)并不是一個技術(shù)原因。看看我們能不能像大人一樣談?wù)撨@件事。編輯這個問題似乎已經(jīng)解決了。它產(chǎn)生了一些高質(zhì)量的答案。感謝大家,尤其是那些認(rèn)真對待我的小循環(huán)榜樣的人。大多數(shù)懷疑論者都擔(dān)心缺乏封閉的范圍。正如@Quenmars在評論中指出的那樣,您始終可以在循環(huán)體周圍放置大括號。我順便注意到for(;;)和while(true)也不要給你免費的支撐(而忽略它們可能會導(dǎo)致令人煩惱的錯誤)。不管怎么說,我不會再把你的腦力浪費在這件小事上了-我可以忍受那些無害的、習(xí)以為常的人。for(;;)和while(true)(如果我想保住我的工作,那也很好)。考慮到其他的反應(yīng),我看到很多人認(rèn)為goto你總是要用另一種方式重寫。當(dāng)然,你可以避免goto通過引入一個循環(huán),一個額外的標(biāo)志,一個嵌套的堆棧ifS,什么的,但為什么不考慮一下goto也許是這份工作最好的工具?換句話說,人們?yōu)榱吮苊馐褂脙?nèi)置的語言功能來達(dá)到預(yù)期的目的,準(zhǔn)備忍受多少丑陋?我的看法是,即使是添加國旗也要付出高昂的代價。我喜歡我的變量來表示問題或解決方案領(lǐng)域中的事物。為了避免goto“不會割傷的。我將接受第一個答案,它給出了分支到清理塊的C模式。國際海事組織,這是最有力的理由goto在所有張貼的答案,當(dāng)然,如果你衡量它的扭曲,一個仇人必須經(jīng)過,以避免它。
查看完整描述

3 回答

?
慕仙森

TA貢獻(xiàn)1827條經(jīng)驗 獲得超8個贊

這是我聽說過的人們使用的伎倆。不過我從沒在野外見過。而且它只適用于C,因為C+有Raii來更具體地做這件事。

void foo(){
    if (!doA())
        goto exit;
    if (!doB())
        goto cleanupA;
    if (!doC())
        goto cleanupB;

    /* everything has succeeded */
    return;cleanupB:
    undoB();cleanupA:
    undoA();exit:
    return;}



查看完整回答
反對 回復(fù) 2019-07-27
?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗 獲得超5個贊

這是我聽說過的人們使用的伎倆。不過我從沒在野外見過。而且它只適用于C,因為C+有Raii來更具體地做這件事。

void foo(){
    if (!doA())
        goto exit;
    if (!doB())
        goto cleanupA;
    if (!doC())
        goto cleanupB;

    /* everything has succeeded */
    return;cleanupB:
    undoB();cleanupA:
    undoA();exit:
    return;}




查看完整回答
反對 回復(fù) 2019-07-27
?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗 獲得超4個贊

這是我聽說過的人們使用的伎倆。不過我從沒在野外見過。而且它只適用于C,因為C+有Raii來更具體地做這件事。

void foo(){
    if (!doA())
        goto exit;
    if (!doB())
        goto cleanupA;
    if (!doC())
        goto cleanupB;

    /* everything has succeeded */
    return;cleanupB:
    undoB();cleanupA:
    undoA();exit:
    return;}




查看完整回答
反對 回復(fù) 2019-07-27
  • 3 回答
  • 0 關(guān)注
  • 489 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號