欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

這期內容當中小編將會給大家?guī)碛嘘PC++ 中assert()函數(shù)如何使用,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)主營福州網站建設的網絡公司,主營網站建設方案,成都APP應用開發(fā),福州h5微信小程序搭建,福州網站營銷推廣歡迎福州等地區(qū)企業(yè)咨詢

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

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

C++ assert()函數(shù)的作用是現(xiàn)計算表達式 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" );
    //以可寫的方式打開一個文件,如果不存在就創(chuàng)建一個同名文件   

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

  9. fclose( fp );   

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

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

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

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

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

上述就是小編為大家分享的C++ 中assert()函數(shù)如何使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網頁標題:C++中assert()函數(shù)如何使用
本文網址:http://chinadenli.net/article20/ipdpjo.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)全網營銷推廣外貿建站云服務器網站收錄Google

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網頁設計公司