亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

方城县| 刚察县| 获嘉县| 安康市| 景洪市| 黄大仙区| 汪清县| 射洪县| 扎兰屯市| 梓潼县| 民县| 邢台县| 师宗县| 衡东县| 崇义县| 涟水县| 志丹县| 博爱县| 万宁市| 新和县| 徐闻县| 新宁县| 东至县| 张家港市| 凤翔县| 云霄县| 桑日县| 沂南县| 永康市| 集安市| 德钦县| 福鼎市| 夹江县| 苗栗市| 奉新县| 霍林郭勒市| 芜湖市| 长兴县| 新巴尔虎左旗| 北流市| 电白县|