std::numeric_limits<volatile int>::is_integer
'false' と評価されます。
しかし、なぜ?volatile int はまだ整数型ではありませんか? これに何か深い意味があるのか知りたいです。
UPD: コンパイラは Keil 4.72 の armcc です
std::numeric_limits<volatile int>::is_integer
'false' と評価されます。
しかし、なぜ?volatile int はまだ整数型ではありませんか? これに何か深い意味があるのか知りたいです。
UPD: コンパイラは Keil 4.72 の armcc です
trueである必要があるため、ここで間違っています (または、コンパイラである可能性があります) 。
numeric_limitsページから:
さらに、各算術型のすべての cv 修飾されたバージョンに対して、修飾されていない特殊化と同一の特殊化が存在します。 > が提供され、std::numeric_limits< int > と同等です。
また、numeric_limits/is_integerページから:
標準的な専門分野:
...
真の整数
...
まあ、それはに評価されません、それはfalse
に評価されtrue
ます:
#include <iostream>
#include <limits>
int main() {
std::cout << std::boolalpha << std::numeric_limits<volatile int>::is_integer << std::endl;
return 0;
}