【发布时间】:2014-06-25 14:15:56
【问题描述】:
我正在使用 C++ 开发一个多平台应用程序(iOS、Android 等)。
C++ 标准中是否存在保证宽度固定且可跨多个平台移植的基本类型?
我正在寻找固定宽度的类型,例如 Int32、UInt32、Int16、UInt16、Float32 等。
【问题讨论】:
-
C++ 两者都没有。
-
不过,有一个
int32_t。对于float,请参阅this -
@dlf 可能是
int32_t。它并非出现在所有平台上。 (但真正的问题是:他为什么想要固定宽度的类型?几乎没有理由使用它们。) -
我读到即将发布的 android 版本将是 64 位的。新的 iOS 设备也是 64 位的(尽管只有少数数据类型具有不同的大小 - CGFloat、指针大小、长整数)。我正在编写我的第一个主要 C++ 项目,它是多平台的,我没有太多 C++ 经验,所以我的问题可能没有意义。 XP 我只是想提前计划一下,以防我发布应用后发生重大变化。
-
@JamesKanze:嵌入式系统,例如手机,可能需要位宽特定的数据类型。例如,我不相信 Android 操作系统会为 ADC(麦克风)提供 32 位 API。我没有看到任何超过 16 位的 ADC。
标签: c++