天天看點

ASSERT的用法

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

ASSERT(    pcage!=    NULL    )   

   ASSERT(    pcage->IsKindOf(    RUNTIME_CLASS(    CAge    )    )    )   

   編譯過程中判斷語句的成功(合法)函數

是一種斷言語句。主要用來調試程式

就是說Debug(調試)的時候,ASSERT(    *******)    這句要運作,   

   但是到了release的時候,ASSERT(    *******)    這句就忽略不運作,   

   作檢查用,release時不運作,是為了提高速度。   

ASSERT( booleanExpression );

首先:booleanExpression 參數是一個bool表達式。

用法:

當程式運作到該語句的時候,程式會檢查booleanExpression 這個表達式是真還是假。

如果條件符合,程式繼續運作下面的代碼;

如果是不符合,那麼持續運作會被卡在這裡。不往下面走,并有程式彈出錯誤對話框,訓示是由于booleanExpression 這個條件符合導緻的報錯。

作用:

ASSERT(booleanExpression )語句一般用來檢查一些必須符合的條件,如果不符合條件,則不讓程式繼續運作下去。

比如:

一個班有55個人,有一個函數可以對班上的55個人進行處理,一個單獨處理一個同學也可以,也可以同時處理多個同學。函數申明為:CONTROLSTUDENT(int number);其中number為要處理的學生的個數。

在使用CONTROLSTUDENT函數前,一般我們會使用

ASSERT(number<=55);

CONTROLSTUDENT(number);

這樣可以保證輸入的學生數目絕對小于等于55個人。

如果輸入的number參數大于55,程式将報錯,不執行。

總結:該指令可以用來做為某些條件的防護,避免不符合條件的東西産生導緻程式的崩潰。

本文轉自 netcorner 部落格園部落格,原文連結: http://www.cnblogs.com/netcorner/archive/2007/08/21/2912298.html ,如需轉載請自行聯系原作者