在调试期间使用断言的示例:
char* append(char* pStr, const char* pAddStr)
{
// Verify non-null pointers
assert(pStr != nullptr);
assert(pAddStr != nullptr);
// Code to append pAddStr to pStr...
}
在一个简单的程序中调用带有空指针参数的 append() 函数在我的机器上产生了以下诊断消息:
Assertion failed: pStr != nullptr, file c:\beginning visual c++ 2010\examples visual studio project files\tryassertion\tryassertion\tryassertion.cpp, line 10
我想知道断言是否必要。如果我可以使用 if-else 表达式来输出我自己的错误消息,那么使用它们有什么意义?