< 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 ,如需轉載請自行聯系原作者