趕快加入我們來參與討論吧!
您需要 登錄 才可以下載或查看,沒有帳號?加入我們
x
Assert
標頭
C : assert.h
C++ : cassert
包含的函數
巨集函數:assert ( EXP )
使用方法:EXP為一個判斷表達式,若EXP成立的話程式會繼續執行,否則程式將會中止並產生錯誤訊息。
範例程式碼
[C++] 純文本查看 復制代碼 #include<iostream>
#include<cassert>
using namespace std;
int main()
{
int a = 18;
int b = 18;
assert( a!= b );
cout<< "通過 assert 的檢查" <<endl;
cout<< a / (a-b) <<endl;
}
執行結果
可以發現,因為a!=b這個敘述是錯誤的,於是程式就被終止,避免繼續執行下面的除法運算。通常assert會用在函數套件或是Debug時使用,用來確保通過assert時,變數有達到指定的要求。
如果要取消assert的功能,可以定義NDEBUG來關閉功能,參考如下:
[C++] 純文本查看 復制代碼 #include<iostream>
//關閉Assert 要在 include 前加才有用
#define NDEBUG
#include<cassert>
using namespace std;
int main()
{
int a = 18;
int b = 18;
assert( a!= b );
cout<< "通過 assert 的檢查" <<endl;
cout<< a / (a-b) <<endl;
}
執行結果
|