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
新聞熱點
疑難解答
圖片精選