|
|
5 是一个 字面值常量。 |
|
1776 始终代表值 一千七百七十六。0(零)字符。对于十六进制,它们的前面是 0x(零,x)字符。例如,以下字面值常量都等价于 |
|
int 类型。但是,可以在整数字面值后附加某些后缀来指定不同的整数类型| 后缀 | 类型修饰符 |
|---|---|
u 或 U | unsigned |
l 或 L | long |
ll 或 LL | long long |
unsigned long 或 unsigned long long。 |
|
e 字符(表示“乘以 10 的 X 次方”,其中 X 是跟在 e 字符后面的整数值),或者同时包含小数点和 e 字符。 |
|
double。可以通过添加以下后缀之一来指定 float 或 long double 类型的浮点数字面值| 后缀 | 类型 |
|---|---|
f 或 F | float |
l 或 L | long double |
|
|
e、f、l)中的任何一个都可以使用小写或大写字母编写,含义没有区别。 |
|
')之间;要表示字符串(通常由多个字符组成),我们将字符放在双引号(")之间。x
'x'
x 指的是一个标识符,例如变量名或复合类型名;而 'x'(包含在单引号中)指的是字符字面值 'x'(代表小写字母 x 的字符)。\n)或制表符(\t)。所有这些特殊字符前面都带有反斜杠字符(\)。| 转义码 | 描述 |
|---|---|
\n | 换行 |
\r | 回车 |
\t | 制表符 |
\v | 垂直制表符 |
\b | 退格 |
\f | 换页符 |
\a | 响铃(蜂鸣) |
\' | 单引号(') |
\" | 双引号(") |
\? | 问号(?) |
\\ | 反斜杠(\) |
'\n'
'\t'
"Left \t Right"
"one\ntwo\nthree"
\),后跟以八进制(基数为 8)或十六进制(基数为 16)表示的代码。对于八进制值,反斜杠后面直接跟着数字;而对于十六进制,则在反斜杠和十六进制数字本身之间插入一个 x 字符(例如:\x20 或 \x4A)。 |
|
|
|
\)被视为一个行续接字符,它将当前行和下一行合并为一行。因此,以下代码 |
|
|
|
char 类型的字符组成。可以通过使用以下任一前缀来指定不同的字符类型| 前缀 | 字符类型 |
|---|---|
u | char16_t |
U | char32_t |
L | wchar_t |
char16_t 使用小写,而 char32_t 和 wchar_t 使用大写。u、U 和 L 之外,还有两个额外的前缀| 前缀 | 描述 |
|---|---|
u8 | 字符串字面值在可执行文件中使用 UTF-8 编码 |
R | 字符串字面值是原始字符串 |
R"sequence(" 和一个结束的 ")sequence" 分隔,其中 sequence 是任何字符序列(包括空序列)。字符串的内容是括号内的内容,忽略分隔序列本身。例如 |
|
"string with \\backslash"。R 前缀可以与任何其他前缀结合使用,例如 u、L 或 u8。true、false 和 nullptr。true 和 false 是 bool 类型变量的两个可能值。nullptr 是空指针值。 |
|
|
|
|
|
31.4159 |
#define 标识符 替换内容 identifier 的任何出现都将被解释为 replacement,其中 replacement 是任何字符序列(直到行尾)。此替换由预处理器执行,并在程序编译之前发生,从而导致一种盲目替换:涉及的类型或语法的有效性不会以任何方式进行检查。 |
|
31.4159 |
#define 行是预处理器指令,因此它们是单行指令,与 C++ 语句不同,不需要在末尾加分号(;);指令会自动扩展到行尾。如果行中包含分号,它将成为替换序列的一部分,并且也会包含在所有被替换的出现中。变量与类型 | 目录 | 运算符 |