ASSERT()是干什么用的?
ASSERT()是一個調(diào)試程序時經(jīng)常使用的宏,在程序運(yùn)行時它計(jì)算括號內(nèi)的表達(dá)式,如果表達(dá)式為FALSE (0), 程序?qū)?bào)告錯誤,并終止執(zhí)行。如果表達(dá)式不為0,則繼續(xù)執(zhí)行后面的語句。這個宏通常原來判斷程序中是否出現(xiàn)了明顯非法的數(shù)據(jù),如果出現(xiàn)了終止程序以免導(dǎo)致嚴(yán)重后果,同時也便于查找錯誤。例如,變量n在程序中不應(yīng)該為0,如果為0可能導(dǎo)致錯誤,你可以這樣寫程序:......
ASSERT( n != 0);
k = 10/ n;
......
ASSERT只有在Debug版本中才有效,如果編譯為Release版本則被忽略。
assert()的功能類似,它是ANSI C標(biāo)準(zhǔn)中規(guī)定的函數(shù),它與ASSERT的一個重要區(qū)別是可以用在Release版本中。
posted on 2007-09-20 22:39 isabc 閱讀(555) 評論(2) 編輯 收藏 引用 所屬分類: C++基礎(chǔ)

