在 C++ 标准 18.4 中它指定:
typedef 'signed integer type' intmax_t;
根据具有 64 位 long int
和 64 位 long long int
的平台标准,这个“有符号整数类型”应该是?
请注意,long int
和 long long int
是不同的基本类型。
C++ 标准说:
The header defines all functions, types, and macros the same as 7.18 in the C standard.
在 C 标准 (N1548) 的 7.18 中,它说:
The following type designates a signed integer type capable of representing any value of any signed integer type:
intmax_t
在这种情况下,似乎 long int
和 long long int
都符合条件?
这是正确的结论吗?这两者都是符合标准的选择吗?
最佳答案
是的,你的推理是正确的。大多数现实世界的实现选择满足条件的最低等级类型。
关于c++ - `intmax_t` 在具有 64 位 `long int` 和 `long long int` 的平台上应该是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15279011/