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 *
的类型吗? ?我在问答中找不到问题的答案。我对这部分很困惑。谢谢你!也欢迎提供相关链接:-)
最佳答案
int
这里是指针指向的类型,在这里完全不相关。指针具有不依赖于指向类型的固定大小,并且该大小至少为 size_t
的大小(通常相同),因此没有危险。
关于c++ - 这段代码在技术上是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34472239/