C ++標準18.4では、次のように指定されています。
typedef 'signed integer type' intmax_t;
long int
64ビットと64ビットのプラットフォームの標準long long int
では、この「符号付き整数型」はどちらである必要がありますか?
long int
とlong long int
は別個の基本タイプであることに注意してください。
C++標準は次のように述べています。
ヘッダーは、C標準の7.18と同じすべての関数、タイプ、およびマクロを定義します。
そして、C規格(N1548)の7.18では、次のように述べています。
次の型は、任意の符号付き整数型の任意の値を表すことができる符号付き整数型を示します。
intmax_t
この場合、両方long int
とlong long int
資格があるように思われますか?
それは正しい結論ですか?それはどちらかが標準に準拠した選択でしょうか?