在类型转换和函数匹配中,字面值类型也是非常值得关注的。
整型和浮点型字面值
1 |
|
默认情况下,十进制字面值是带符号数,八进制和十六进制既可能是带符号的也可能是无符号的。
十进制字面值类型是int
、long
和long long
中尺寸最小的。
八进制和十六进制字面值类型是int
、unsigned int
、long
、unsigned long
、long long
和unsigned long long
中的尺寸最小者。
严格来说,十进制字面值不会是负数,负数只是对字面值取负值而已。
默认的,浮点型字面值是一个double
。
转义序列
\x
后紧跟1个或多个十六进制数字,或\
后紧跟1个、2个或3个八进制数字。
指定字面值的类型
前缀 | 含义 | 类型 |
---|---|---|
u | Unicode 16 字符 | char16_t |
U | Unicode 32 字符 | char32_t |
L | 宽字符 | wchar_t |
u8 | UTF-8(仅用于字符串字面常量) | char |
后缀 | 最小匹配类型 | 后缀 | 类型 |
---|---|---|---|
u or U | unsigned | f 或 F | float |
l or L | long | l 或 L | long double |
ll or LL | long long |