断言assert是仅在Debug版本起做用的宏,它用于检查“不该该”发生的状况。函数
在函数的入口处,使用断言检查参数的有效性(合法性)。spa
若是程序在assert处终止了,并非说含有该assert的函数有错误,而是调用者出了差错,assert能够帮助咱们找到发生错误的缘由。ci
void *memcpy(void *pvTo, const void *pvFrom, size_t size)bug
{程序
assert((pvTo != NULL) && (pvFrom != NULL)); // 使用断言im
byte *pbTo = (byte *) pvTo; // 防止改变pvTo的地址while
byte *pbFrom = (byte *) pvFrom; // 防止改变pvFrom的地址sse
while(size -- > 0 )co
*pbTo ++ = *pbFrom ++ ;ascii
return pvTo;
}