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

时间:2015-12-26 14:29:38

标签: c++ arrays pointers size size-t

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 *的类型吗?我没有找到关于Q&amp; A的问题的答案。我很困惑这一部分。谢谢!也欢迎相关链接: - )

1 个答案:

答案 0 :(得分:3)

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