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

标签 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 * 的类型吗? ?我在问答中找不到问题的答案。我对这部分很困惑。谢谢你!也欢迎提供相关链接:-)

最佳答案

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

关于c++ - 这段代码在技术上是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34472239/

相关文章:

c++ - 链表函数有问题

c++ - 如何在 C++ 中为 USB 投影仪使用 DLL 接口(interface)

c++ - 如何解析结构化格式?

php - 将关联数组转换为具有值的多维数组

c - 如何修复c qsort函数中的 "discard const"(该数组是指针数组),可能与对指针的理解有关

c - 结构指针与实际结构

c++ - 如何在 C++ 中使用 .so 库与 Clion 和 Cmake?

c++ - 循环替换模板

java - 仅使用单个一维数组将数组循环左移 n 个位置的有效方法。

c++ - wchar_t 字符串数组的成员丢失