<kbd id="daqct"></kbd>

  • <nav id="daqct"></nav>
    <wbr id="daqct"><pre id="daqct"></pre></wbr>
    <wbr id="daqct"></wbr>
    <form id="daqct"><th id="daqct"></th></form>
    更多課程 選擇中心

    C/C++培訓
    達內IT學院

    400-111-8989

    C語言C++中assert的用法規則?

    • 發布:C++培訓
    • 來源:C++資訊
    • 時間:2020-07-22 16:21

    斷言assert使用規則

    當然我們在使用斷言的過程中會有一些我們應該注意的事項和養成一些良好的習慣,如:

    1. 每個assert只檢驗一個條件,因為同時檢驗多個條件時,如果斷言失敗,我們就無法直觀的判斷哪個條件失敗;

    無法直觀的判斷哪個條件失敗:

    assert(nOffset>=0 && nOffset+nSize<=m_nInfomationSize);

    只檢驗一個條件,比較直觀:

    assert(nOffset >= 0);

    assert(nOffset+nSize <= m_nInfomationSize);

    2. 不能使用改變環境的語句,就像我們上面的代碼改變了i變量,在實際編寫代碼的過程中是不能這樣做的;

    例如:

    assert(i++ < 100)

    不好:這是因為如果出錯,比如在執行之前i=100,那么這條語句就不會執行,那么i++這條命令就沒有執行。

    assert(i < 100)

    i++;

    正確。

    3. assert和后面的語句應該空一行,以形成邏輯和視覺上的一致性,也算是一種良好的編程習慣,讓編寫的代碼有一種視覺上的美感;

    4. 有的地方,assert不能代替條件過濾;

    程序一般分為Debug 版本和Release 版本,Debug 版本用于內部調試,Release 版本發行給用戶使用。斷言assert 是僅在Debug 版本起作用的宏,它用于檢查"不應該"發生的情況。

    5. 放在函數參數的入口處檢查傳入參數的合法性;

    int resetBufferSize(int nNewSize)

    {

    //功能:改變緩沖區大小,

    //參數:nNewSize 緩沖區新長度

    //返回值:緩沖區當前長度

    //說明:保持原信息內容不變 nNewSize<=0表示清除緩沖區

    assert(nNewSize >= 0);

    assert(nNewSize <= MAX_BUFFER_SIZE);

    ...

    }

    在我們使用C語言/C++做工程項目時,如果我們能在代碼中合理的使用assert,能使我們創建更穩定、質量更好且不易于出錯的代碼;當需要在一個值為FALSE時中斷當前操作的話就可以使用斷言。

    單元測試必須使用斷言;另外除了類型檢查和單元測試外,斷言還提供了一種確定各種特性是否在程序中得到維護的極好的方法。

    當你還在擔心能否就業時,達內學員提前被企業錄取;當你轉輾于各大招聘會時,達內學員收到了高薪offer;當你在各大招聘網站投遞簡歷時,達內學員中有人一畢業進入五百強名企。所以選擇很重要。找C++培訓班,選達內就對了。

    預約申請免費試聽課

    填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

    上一篇:C語言中scanf函數的3種常見問題
    下一篇:C語言開發單片機為啥都是全局變量形式?

    C語言宏定義的幾種使用方法

    C與C++內存管理避坑指南

    C/C++代碼規范注釋有哪些講究?

    C語言中,全局變量濫用的后果竟如此嚴重?

    • 掃碼領取資料

      回復關鍵字:視頻資料

      免費領取 達內課程視頻學習資料

    • 視頻學習QQ群

      添加QQ群:1143617948

      免費領取達內課程視頻學習資料

    Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

    選擇城市和中心
    黑龍江省

    吉林省

    河北省

    湖南省

    貴州省

    云南省

    廣西省

    海南省

    欧美三级片,白洁外传,第四色播日韩AV第一页,啪啪免费观看大全av 百度 好搜 搜狗
    <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>