假设我有两个指向键入的指针T:
T* first = ...// whatever
T* second = ... //whatever else
Run Code Online (Sandbox Code Playgroud)
我可以确定这两个指针之间的距离永远不会超过:
((size_t)(-1))/sizeof(T)?
Jam*_*lis 13
如果两个指针指向同一个数组中的元素,或者指向同一个数组的一个结尾,则只能计算两个指针之间的距离(从一个指针中减去一个指针).
如果两个指针符合该约束,则是,两个指针之间的差值的绝对值不能超过,((size_t)(-1)) / sizeof(T)因为size_t必须足够宽以表示任何对象的大小(以字节为单位).
如果两个指针不符合该约束,则根本不能保证.