【学习笔记】【C/C++】 c++字面值常量
一、整型字面值规则
20 /* decimal */ 024 /* octal */ 0x14 /* hexadecimal */ 128u /* unsigned */ 1024UL /* unsigned long */ 1L /* long */ 8Lu /* unsigned long */
没有 short 类型的字面值常量。
二、浮点字面值规则
通常可以用十进制或者科学计数法来表示浮点字面值常量。使用科学计数法时,指数用 E 或者 e 表示。默认的浮点字面值常量为 double 类型。在数值的后面加上 F 或 f 表示单精度。同样加上 L 或者 l 表示扩展精度(再次提醒,不提倡使用小写字母l)。下面每一组字面值表示相同的值:
3.14159F .001f 12.345L 0. 3.14159E0f 1E-3F 1.2345E1L 0e0
三、布尔字面值和字符字面值
- 单词 true 和 false 是布尔型的字面值:
bool test = false;
- 字符型字面值通常用一对单引号来定义:
- 单字节字符
‘a’ ‘2’ ‘,’ ’ ’ // blank - 宽字符
L’a’ wchar_t b;
四、非打印字符的转义序列
newline 换行符 \n horizontal tab 水平制表符 \t vertical tab 纵向制表符 \v backspace 退格符 \b carriage return 回车符 \r formfeed 进纸符 \f alert (bell) 报警(响铃)符 \a backslash 反斜线 \\ question mark 疑问号 \? single quote 单引号 \' double quote 双引号 \"
五、多行字面值
std::cou\ t << "Hi" << st\ d::endl;
等价于
std::cout << "Hi" << std::endl;
可以使用这个特性来编写长字符串字面值:
// multiline string literal std::cout << "a multi-line \ string literal \ using a backslash" << std::endl; return 0; }
注意反斜线符号必须是该行的尾字符——不允许有注释或空格符。同样,后继行行首的任何空格和制表符都是字符串字面值的一部分。正因如此,长字符串字面值的后继行才不会有正常的缩进。