在C++标准18.4中,它指定了以下内容:
typedef 'signed integer type' intmax_t;
在64位平台上,根据标准,哪种“有符号整数类型”应该使用64位的long int
和long long int
?
请注意,long int
和long long int
是不同的基本类型。
C++标准规定:
头文件定义了与C标准中7.18相同的所有函数、类型和宏。
而在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
都可以符合要求?
这个结论正确吗?选择任意一个是否都符合标准?
intmax_t
是一个现有类型的typedef而不是新类型?(看起来它似乎总是这样,但无法确定是否像您的引用中所写的那样) - Stephen Lintypedef __int128 intmax_t
。我不确定。 - Andrew Tomazos