【发布时间】:2018-07-30 09:15:15
【问题描述】:
C++11 有固定宽度,2 的补码类型:(u)int8_t、(u)int16_t 等
但是,这些类型是可选的。
有时我需要使用这些类型,因此我的代码可能因此不太便携。
目前是否有任何平台(提供 C+11 编译器)不存在这些类型?
是否有任何“通用”(我知道这是一个模糊的词,但我想要一个答案,其中 DSP 和其他非常特定于领域的平台被排除在外,因为这些平台很少成为移植的目标软件)平台目前,这些类型不存在?
注 1:我知道,有些硬件不支持这些类型。但是,我所知道的所有此类硬件都没有符合 C++11 的编译器。这个问题是关于一个 C++11 实现,其中固定宽度类型实际上是缺失的。
注意 2:我知道,有强制性的 least 和 fast 类型,但这个问题是关于精确宽度类型的。
【问题讨论】:
-
@phuclv:是的,这也是我的问题。这是一个更普遍的问题。我提出了这个问题,因为我没有得到这个问题的具体答案,说明 C++ 一致性。我倾向于认为实际上没有通用平台,它没有固定宽度类型,所以使用它们绝对没问题。