使用断言
断言的一些宏和实现的某些函数
ANSI C 断言 assert assert.h Debug And Release
C运行时库断言 _ASSERT crtdbg.h Debug
C运行时库断言 _ASSERTE crtdbg.h Debug
MFC库断言 ASSERT Debug
MFC库断言 ASSERT_VALID Debug
MFC库断言 ASSERT_KINDOF Debug
MFC库断言 ASSERT_POINTER Debug
MFC库断言 ASSERT_NULL_OR_POINTER Debug
ATL 断言 ATLASSERT atlbase.h Debug
_CRTIMP int __cdecl _CrtDbgReport(
_In_ int _ReportType,
_In_opt_z_ const char * _Filename,
_In_ int _Linenumber,
_In_opt_z_ const char * _ModuleName,
_In_opt_z_ const char * _Format,
...);
_CrtDbgBreak();
BOOL AFXAPI AfxIsValidAddress(const void* lp,UINT_PTR nBytes, BOOL bReadWrite = TRUE);
BOOL AfxIsValidString(LPCSTR string,int stringlenght=-1);
具体可看这些函数的实现。。。。。
什么需要断言?
1:检查函数的输入
2:检查函数的输出
3:检查对象的当前状态
4:检查逻辑变量的合理性和一致性
5:检查类中的不变量
浙公网安备 33010602011771号