assert是一種預處理宏,由預處理器管理。因此,assert宏並不是定義在命名空間std中的。
1 預處理
在C++程序源代碼被編譯之前,由預處理器對C++程序源代碼進行的處理。這個過程並不對程序的源代碼進行解析,而是源代碼分割或處理成爲特定的符號以便支持宏調用。
2 assert宏的使用
2.1 頭文件
assert宏在assert.h或者cassert中定義,在使用該宏時需要包含該頭文件。
2.2 格式
assert宏的格式爲
assert(表達式)
其中,當表達式爲假時,assert輸出信息並終止程序的執行;當表達式爲真時,assert什麼也不做。
int i = 1;
assert(2 == i);
assert()中的表達式爲假,運行程序時會彈出如圖1的窗口。
圖1 assert()窗口