代码之家  ›  专栏  ›  技术社区  ›  Bo R

为什么在C(和C++标准)中uintptr________________________________?

  •  6
  • Bo R  · 技术社区  · 7 年前

    <stdint.h> . 精确宽度,例如。, int8_t , int16_t 等等,它们是可选的,并且在标准中是有动机的,这就是为什么。

    但是对于 uintptr_t intptr_t 类型,它们也是可选的,但我不认为它们是可选的而不是必需的。

    1 回复  |  直到 5 年前
        1
  •  12
  •   user7860670    6 年前

    在某些平台上,指针类型的大小比任何整数类型都大得多。我相信这样一个平台的例子是IBMAS/400,它的虚拟指令集将所有指针定义为128位。这类平台最近的一个例子是Elbrus。它使用128位指针,这些指针是硬件描述符,而不是普通地址。