可以计算该指针并仅与其进行比较.原因是它可以用于使用一对指针传递和迭代和数组.
如果标准不允许,那么仅仅存在以下循环就会表现出不确定的行为 pend
int arr[100] = {0};
for (int *pbegin = arr, *pend = arr + 100; pbegin != pend; ++pbegin)
{
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
这在C++中尤为重要,其中标准库大量使用将范围作为"开头的迭代器和一个结尾"的惯用法.