c++定义了一组表示整数、浮点数、单个字符和布尔值的算术类型,也包括一种特殊类型void,我们把他叫做“基本内置类型”。基本内置类型的储存空间依机器而定。
对应的,也有“非基本内置类型”,这些类型被定义在标准函数库中,如string与vetor类。
字面值常量
例如100就是一个字面值常量。为什么叫字面值呢?因为我们只能从它的字面“100”来称呼她,我们没理由用"int"、“double"来称呼它。而且它的值不能改变,因此是常量。
1.整型字面值常量。顾名思义,字面值为整数的常量。我们有三种形式来定义整型字面值常量,分别是十进制(如20),八进制(如024,以数字0开头),十六进制(0x14,以0x开头)。默认上整型字面值常量是int或者long类型,数值范围在int内的就是int类型,数值范围在long内的就是long类型。不过我们可以手动的来制定字面值类型,方法是在字面值后面加上字母。如128u(无符号类型)、1024UL(无符号长整型)、1L(长整型)。
浮点字面值
在字面值后添加f或F,表示单精度,L或l表示扩展精度,默认字面值为双精度double。
字符字面值
通常用一对单引号定义,如在前面加上L(如L'a'),则表示wchar_t类型宽字符字面值(表示Unicode字符,如汉字、日语等)
各种转义字符
略
字符串字面值
由0个或多个用双引号括起来的字符来表示。
为了兼容C,C++中所有的字符串字面值在编译器中自动地在末尾添加一个空字符。
如同宽字符一样,也存在宽字符串字面值,如L"Hello",宽字符字面值是一串常量宽字符,同样以一个宽空字符结束。