Assert 宏应该大家都知道是干什么用的吧, 可能大家一般都用来检查下指针为空啊。
不过assert还有许多使用技巧的。
1.基本用法
void VectorNormalize(Vec* src, Vec* dat)
{
float length;
assert(src!=0);//检查src向量必须不为空
assert(dst!=0);//检查dst向量必须不为空
..................
..................
}
2.让assert嵌入更多的信息
void VectorNormalize(Vec* src, Vec* dst)
{
float length;
assert(src!=0 && "VectorNormalize: src vector pointer is Null");
assert(dst!=0 && "VectorNormalize: dst vector pointer is Null");
...................
...................
}
有了这个直观的字符串提示,就可以告诉当前的函数名,错误原因。