在C++中,assert
是一個預(yù)處理器宏,用于在程序運行時檢查某個條件是否為真。如果條件為假,程序?qū)⒔K止并顯示一條錯誤消息。要調(diào)用assert
,只需在需要檢查的條件表達(dá)式后面加上assert()
函數(shù)即可。以下是一個簡單的示例:
#include <iostream>
#include <cassert>
int main() {
int x = 5;
int y = 0;
// 檢查y是否為0,如果不是,程序?qū)⒔K止并顯示錯誤消息
assert(y != 0 && "Division by zero!");
int z = x / y; // 這里將不會被執(zhí)行,因為y為0
std::cout << "This line will not be executed." << std::endl;
return 0;
}
在這個例子中,我們檢查變量y
是否不等于0。如果不等于0,程序?qū)⒗^續(xù)執(zhí)行。但是,因為y
的值為0,所以assert()
函數(shù)將觸發(fā)一個錯誤,程序?qū)⒔K止并顯示錯誤消息"Division by zero!"。注意,assert()
函數(shù)需要一個布爾表達(dá)式作為參數(shù)。如果表達(dá)式的結(jié)果為假(即0),則assert()
將觸發(fā)錯誤。