91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

C++ 中assert()函數如何使用

發布時間:2021-07-14 15:03:03 來源:億速云 閱讀:150 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關C++ 中assert()函數如何使用,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

assert宏的原型定義在< assert.h>中,其作用是如果它的條件返回錯誤,則終止程序執行,原型定義:

#include < assert.h>   void assert( int expression );

C++ assert()函數的作用是現計算表達式 expression ,如果其值為假(即為0),那么它先向stderr打印一條出錯信息,然后通過調用 abort 來終止程序運行。請看下面的程序清單badptr.c:

  1. #include < stdio.h>   

  2. #include < assert.h>   

  3. #include < stdlib.h>   

  4. int main( void )   

  5. {   

  6. FILE *fp;   

  7. fp = fopen( "test.txt", "w" );
    //以可寫的方式打開一個文件,如果不存在就創建一個同名文件   

  8. assert( fp ); //所以這里不會出錯   

  9. fclose( fp );   

  10. fp = fopen( "noexitfile.txt", "r" );
    //以只讀的方式打開一個文件,如果不存在就打開文件失敗   

  11. assert( fp ); //所以這里出錯   

  12. fclose( fp ); //程序永遠都執行不到這里來   

  13. return 0;   

  14. }   

  15. [root@localhost error_process]# gcc badptr.c   

  16. [root@localhost error_process]# ./a.out   

  17. a.out: badptr.c:14: main: Assertion `fp' failed.  

已放棄

使用C++ assert()函數的缺點是,頻繁的調用會極大的影響程序的性能,增加額外的開銷。 在調試結束后,可以通過在包含#include < assert.h>的語句之前插入 #define NDEBUG 來禁用assert調用,示例代碼如下:

#include < stdio.h>   #define NDEBUG   #include < assert.h>

上述就是小編為大家分享的C++ 中assert()函數如何使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

竹溪县| 吉水县| 天门市| 建德市| 监利县| 西充县| 禹城市| 潜山县| 吴忠市| 修文县| 陈巴尔虎旗| 桃园市| 常德市| 旬阳县| 长岭县| 商水县| 贵阳市| 商洛市| 布尔津县| 勃利县| 珠海市| 赫章县| 华宁县| 铁岭市| 淮北市| 奉新县| 盱眙县| 涞源县| 广德县| 天祝| 修武县| 都江堰市| 福清市| 沧州市| 定边县| 成都市| 东至县| 祁东县| 民勤县| 原平市| 绥江县|