1
我有一個普通的C++背景,但是我沒有開發任何與MFC,我碰到一個庫,我需要使便攜式,並有很多呼籲斷言例如移植一個MFC lib到linux和ASSERT
void putValue(LPCTSTR lpszValue)
{
ASSERT(AfxIsValidString(lpszValue));
.
.
.
}
和MSDN
最典型的使用斷言宏在開發過程中識別程序 錯誤。提供給ASSERT的參數應該是 ,因此只有在程序按照 的預期運行時才適用。該宏評估ASSERT參數,並且如果參數表達式爲false(0),則向用戶發出警報並暫停執行程序 。如果參數爲真(非零),則不採取任何操作。
如果我要移植到GCC中編譯,是正確的做法是將條件放在if語句中並拋出異常id條件有效嗎?