簡體   English   中英

為什么 uintptr_t 和 intptr_t 在 C(和 C++)標准中是可選類型?

[英]Why are uintptr_t and intptr_t optional types in the C (and C++) standard?

對於 C99(和更高版本的標准),標准要求在頭文件<stdint.h>提供某些類型。 對於精確寬度,例如int8_tint16_t等,它們是可選的,並且在標准中是有動機的。

但是對於uintptr_tintptr_t類型,它們也是可選的,但我不認為它們是可選的而不是必需的。

在某些平台上,指針類型的大小比任何整數類型都大得多。 我相信這樣的平台的一個例子是 IBM AS/400,它具有將所有指針定義為 128 位的虛擬指令集。 此類平台的更新示例是 Elbrus。 它使用 128 位指針,這些指針是硬件描述符而不是普通地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM