ATLASSERTATLASSERT与assert一样,用于断言。断言所谓断言,其实是防止程序意外出错的一种宏,如果其参数计算为假,则程序发出警告,且退出。
最常见的用法就是在函数入口处保证输入参数的正确性。举例例如有一个单链表,无头,单向不循环,结点含data,next,现在写一个函数,获取指针所指结点的下一个结点的data:
int GetNext(pNode* pn)
{
//如果为空,则出错,因为没有后续结点,没有这一条的话如果传入NULL则程序运行出错
ATLASSERT(pNode != NULL)
return(pn->next->data);
}