<轉載學習>使用一個網上轉載最多的一個例子,assert的作用是現計算表達式 expression ,如果其值為假(即為0),那麼就列印錯誤資訊,終止程式,例子如下:
// test.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include <assert.h>
#include <iostream>
#include <stdlib.h>
#define NDEBUG
#define MAX_BUFFER_SIZE 100
void resetBufferSize(int nNewSize)
{
//功能:改變緩沖區大小,
//參數:nNewSize 緩沖區新長度
//傳回值:緩沖區目前長度
//說明:保持原資訊内容不變 nNewSize<=0表示清除緩沖區
assert(nNewSize >= 0);
assert(nNewSize <= MAX_BUFFER_SIZE);
}
int _tmain(int argc, _TCHAR* argv[])
{
FILE *fp;
fp =fopen("test.txt","w");//以可寫的方式打開一個檔案,如果不存在就建立一個同名檔案
assert(fp);//是以這裡不會出錯
fclose(fp);
fp =fopen("noexittest.txt","r");//以隻讀的方式打開一個檔案,如果不存在就打開檔案失敗
assert(fp);//是以這裡出錯
fclose(fp);
//resetBufferSize(10);//修改不同的數值可以測試assert()
system("pause");
return 0;
}
使用assert() 宏,使用斷言可以使得代碼更加穩定和品質更高。當需要确認一個數值為False時,則可以使用斷言,單元測試必須