常量例如12.5或者hello,在C++ Primer中称为文字常量,他们通常不可寻址,即使他们存储在内存里,但我们无法访问他们。文字常量适用于C++的数据分类,废话?
在常量后面加一个字母来说明其数据类型。默认情况下,整形文字常量被认为是int型,浮点型文字常量被认为是double型。
为了改变默认整形常量的数据类型可以在其后面加后缀。(1)将L或者l放在整形文字常量后面,以指定其为long型,同时也可加u表示其为无符号性,例如128u、1024UL,1L,8LU,一般不用小写l,因为它很容易被误认为1。(2)将f(F)、L(l)放在浮点型文字常量后面以指定其数据类型为单精度和扩展精度型。
注意,这些后缀字母不分大小写,并且加U(u)组合时也不分前后。
在字符文字常量前加“L”以指定其为宽字符型,例如L'a',即指定该常量为wchar_t型。同理,可以在字符串文字常量前加“L”以指定其为宽字符型字符串,例如L"Hello,world"。