这段代码在技术上是否有效?

Is this piece of code technically valid?

int *b = arr, *e = arr + sz; // sz has a type of size_t
while (b < e)
{
  // use *b
  ++b;
}

这是 C++ Primer 上的代码。我是 C++ 的新手,我可以知道如果 sz 非常大以至于 int 无法容纳,那么 b 和 e 是否应该声明为 size_t * 的类型?我在问答中找不到问题的答案。我对这部分很困惑。谢谢!也欢迎相关的link:-)

int 这里是指针指向的类型,在这里完全不相关。指针具有不依赖于指向类型的固定大小,并且该大小至少为 size_t 的大小(通常相同),因此没有危险。