国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++中assert斷言函數

2019-11-06 06:49:12
字體:
來源:轉載
供稿:網友
assert宏的原型定義在assert.h中,
1 #include "assert.h" 2 void assert( int exPRession );

其作用是計算表達式 expression ,如果其值為假(即為0),那么它先向stderr打印一條出錯信息,然后通過調用 abort 來終止程序運行。

程序一般分為Debug 版本和Release 版本,Debug 版本用于內部調試,Release 版本發行給用戶使用。斷言assert 是僅在Debug 版本起作用的宏,它用于檢查“不應該”發生的情況。在運行過程中,如果assert 的參數為假,那么程序就會中止(一般地還會出現提示對話,說明在什么地方引發了assert)。

assert()的用法像是一種“假設編程”,其表達的意思就是,程序在我的假設條件下,能夠正常良好的運作,其實就相當于一個if語句:

if(假設成立){     程序正常運行;}else{      報錯&&終止程序!(避免由程序運行引起更大的錯誤)  }但是這樣寫的話,就會有無數個if語句,甚至會出現,一個if語句的括號從文件頭到文件尾,并且大多數情況下,我們要進行驗證的假設,只是屬于偶然性事件,又或者我們僅僅想測試一下,一些最壞情況是否發生,所以這里有了assert()。

assert()返回錯誤示例:

圖片加載中總結:

ASSERT宏中應該包含的元素:判斷條件;輸出當前斷言失敗的位置(文件、行數等);返回錯誤;終止程序...

參考:

http://blog.csdn.net/yunzhongguwu005/article/details/9178911

http://www.cnblogs.com/jkred369/p/4544617.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 忻州市| 丹寨县| 尖扎县| 清河县| 德格县| 太湖县| 宝鸡市| 济源市| 盐津县| 敖汉旗| 呼伦贝尔市| 吐鲁番市| 昌吉市| 革吉县| 镇雄县| 石阡县| 获嘉县| 尼木县| 曲周县| 南平市| 五寨县| 资阳市| 阳春市| 新河县| 鲁山县| 道孚县| 泽库县| 龙游县| 从化市| 石阡县| 临高县| 旬阳县| 五华县| 新闻| 皮山县| 浦城县| 札达县| 石景山区| 平乡县| 运城市| 曲周县|