static_assert(sizeof(unsigned) == 4, ":(");
static_assert(sizeof(double) == 8 ,":(");
unsigned u{42};
double x{u};
Run Code Online (Sandbox Code Playgroud)
g ++ 4.7.1抱怨这段代码:
warning: narrowing conversion of 'u' from 'unsigned int' to 'double' inside { }
Run Code Online (Sandbox Code Playgroud)
为什么这是一个缩小的转换?是不是每个人都能unsigned
完美代表double
?