验证两个内存块绝不重叠的断言, 用在像memcpy函数这样的场合最适合不过了, 因为在两个重叠的内存块之间拷贝数据, 结果是没有意义的,
void memcpy(void* pvTo, void* pvFrom, size_t size)
{
assert(pbTo>=pbFrom+size || pbFrom>=pbTo+size);
...
}
上面的断言很巧妙,只用了一条语句, 它的思想在于:
把两个内存块比作两辆在停车处排成一行等候的轿车,
如果一辆车的后保险杠在另一辆车的前保险杠之前, 两辆车就不会重叠
这个断言我在<<编程精粹>>中看到的, 写在这里作一个笔记。