C++注意

断言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;

}

你可能感兴趣的:(C++)