斷言assert是僅在debug下有效的宏,當其中的條件爲假時,觸發錯誤提示。
使用斷言的目的是捕捉不應該發生的非法情況。注意:不要混淆非法情況與錯誤情況之間的區別,後者的出現是因爲代碼錯誤,是一定要作出處理的。
如何使用:
1、在函數的入口處,使用斷言檢查參數的有效性(合法性)。
2、在編寫函數時,要進行反覆的思考:“我打算做哪些假定?”一旦確定了的假定,就要使用斷言對假定進行檢查。比如傳入的char*可能爲空等。
3、一般教科書都鼓勵程序員們進行防錯設計,但要記住這種編程風格可能會隱瞞錯誤。當進行防錯設計時,如果“不可能發生”的事情的確發生了,則要使用斷言進行報警。
4、包含頭文件#include <assert.h>