在C++標準18.4它指定:'intmax_t`應該在64位的`long int`和`long long int`平臺上做什麼?
typedef 'signed integer type' intmax_t;
通過在平臺上的標準(或多個)具有一個64位long int
和64位long long int
應這種「符號整型」是?
請注意long int
和long long int
是截然不同的基本類型。
C++標準表示:
頭定義所有的功能,類型和宏一樣在C標準7.18。
和C標準(N1548)它說的7.18:
下列類型指定能夠表示 任何符號整型的任何值的帶符號的整數類型:
intmax_t
看來在這種情況下long int
和long long int
合格?
這是正確的結論嗎?那要麼是符合標準的選擇?
只是好奇,並N1548/7.18明確保證'intmax_t'是現有的一個typedef鍵入而不是新的? (它似乎總是,但不能告訴它是否從你的報價中寫出) – 2013-03-07 18:35:19
@StephenLin:你正在考慮'typdef __int128 intmax_t'。我不確定 – 2013-03-07 18:36:30