【发布时间】:2013-10-15 21:44:54
【问题描述】:
是否存在整数数据类型,在 16 位平台上始终为 2 个字节,在 32 位平台上为 4 个字节,在 64 位平台上为 8 个字节?假设 C++11,它将用于计算,而不是内存寻址。
有std::size_t,但什么是签名等价物(std::ptrdiff_t?),它是否保证满足要求?
有std::intptr_t和std::uintptr_t,但是they won't always be the same size as size_t。
有std::int_leastN_t和std::int_fastN_t,但要么保证满足要求,如果满足,'N'的正确值是多少?
Boost 是否提供类似 a(n) int_native_t 和 uint_native_t 的东西?
【问题讨论】:
-
这不就是
int吗? -
取决于平台。 c++ 没有告诉你需要这种类型
-
如果用于计算,不应该是应用程序定义整数的大小,而不是底层机器吗?
-
不是真正的重复,但看看this。
-
更有趣的问题是,你为什么需要这样的东西?