cly

博客园 首页 新随笔 联系 订阅 管理

断言assert是仅在Debug版本起作用的宏,它用于检查“不应该”发生的情况。

在函数的入口处,使用断言检查参数的有效性(合法性)。

如果程序在assert处终止了,并不是说含有该assert的函数有错误,而是调用者出了差错,assert可以帮助我们找到发生错误的原因。

void    *memcpy(void *pvTo, const void *pvFrom, size_t size)

{

        assert((pvTo  != NULL) && (pvFrom != NULL));     //   使用断言

        byte  *pbTo = (byte *) pvTo;     //   防止改变pvTo的地址

        byte  *pbFrom = (byte *) pvFrom; // 防止改变pvFrom的地址

        while(size -- > 0 )

            *pbTo  ++ = *pbFrom ++ ;

        return  pvTo;

}

posted on 2013-07-21 19:24  戒色  阅读(845)  评论(0编辑  收藏  举报