3.14159默认是double类型;
只有内置类型存在字面值;
以0(零)开头的字面值整数常量表示八进制,以0x或0X开头的表示十六进制;
字面值整数常量的类型默认为int或long类型,其精度类型决定于字面值;通过增加后缀,可以强制将字面值整数常量转换为long、unsigned、unsigned long类型;通过在数值后面加L或l指定常量为long类型;通过在数值后面加U或u指定常量为unsigned类型;同时加L或l和U或u就能够得到unsigned long类型的常量;
没有short类型的字面值常量;
通常可以用十进制或者科学计数法表示浮点字面值常量。使用科学计数法时,指数用E或e表示。默认的浮点字面值常量为double类型,在数值的后面加上F或f表示单精度。同样加上L或l表示扩展精度。
可打印的字符型字面值通常用一对单引号来定义。在字符字面值前加L就能够得到wchar_t类型的宽字符字面值。
不可打印的字符实际上是不可显示的字符。
转义字符都以反斜线符号开始,C++语言中定义了如下转义字符:换行符\n 水平制表符\t 垂直制表符\v 退格符\b 回车符\r 进纸符\f 报警符\a 反斜线\\ 疑问号\? 单引号\' 双引号\"
我们可以将任何字符表示为以下形式的通用转义字符:\ooo;这里ooo表示3个8进制数字,这3个数字表示字符的数字值。\0通常表示空字符。同样也可以用十六进制转义字符来定义字符:\xddd;它由一个反斜线符、一个x和一个或者多个十六进制数字组成。
为了兼容C语言,C++中所有的字符串字面值都由编译器自动在末尾添加一个空字符。宽字符串字面值是一串常量宽字符,同样以一个宽空字符结束。
两个相邻的仅由空格、制表符或换行符分开的字符串字面值(或宽字符串字面值),可连接成一个新字符串字面值。
连接字符串字面值和宽字符串字面值的结果是未定义的。
在一行的末尾加一反斜线符号可将此行和下一行当做同一行处理。注意反斜线符号必须是该行的尾字符,不允许有注释或空格符,同样,后继行行首的任何空格和制表符都是字符串字面值的一部分,正因如此,长字符串字面值的后继行才不会有正常的缩进。
转载于:https://my.oschina.net/u/1447415/blog/297014