国产探花免费观看_亚洲丰满少妇自慰呻吟_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


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

圖片精選

主站蜘蛛池模板: 达尔| 丹巴县| 墨江| 密山市| 上蔡县| 依安县| 木兰县| 乐亭县| 利辛县| 牙克石市| 墨江| 台南县| 邢台市| 望谟县| 刚察县| 旬邑县| 宽甸| 禹城市| 乌拉特前旗| 张家界市| 西充县| 荆州市| 高阳县| 鄂伦春自治旗| 吉林市| 吴堡县| 肥东县| 鲁山县| 永新县| 胶州市| 宜阳县| 德安县| 清流县| 武冈市| 建瓯市| 抚顺县| 大安市| 双辽市| 灌云县| 松潘县| 公主岭市|