您的位置:首页 > 其它

一个可以验证两个内存块绝不重叠的断言

2006-10-22 10:39 295 查看
验证两个内存块绝不重叠的断言, 用在像memcpy函数这样的场合最适合不过了, 因为在两个重叠的内存块之间拷贝数据, 结果是没有意义的,

void memcpy(void* pvTo, void* pvFrom, size_t size)
{
assert(pbTo>=pbFrom+size || pbFrom>=pbTo+size);
...
}

上面的断言很巧妙,只用了一条语句, 它的思想在于:

把两个内存块比作两辆在停车处排成一行等候的轿车,
如果一辆车的后保险杠在另一辆车的前保险杠之前, 两辆车就不会重叠

这个断言我在<<编程精粹>>中看到的, 写在这里作一个笔记。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐