转义序列

来自cppreference.com
< cpp‎ | language
 
 
C++语言
大会的主题
原文:
General topics
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
ASCII表
转义序列
C + +的历史
流量控制
原文:
Flow control
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
条件执行语句
原文:
Conditional execution statements
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
迭代语句
原文:
Iteration statements
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
跳转语句
原文:
Jump statements
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
功能
原文:
Functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
函数声明
lambda函数的声明
函数模板
的历史。内嵌说明
异常规范 (已弃用)
noexcept说明 (C++11)
例外
原文:
Exceptions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
命名空间
原文:
Namespaces
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
类型
原文:
Types
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
decltype specifier (C++11)
规范
原文:
Specifiers
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
CV符
存储时间说明符
constexpr说明 (C++11)
汽车符 (C++11)
alignas说明 (C++11)
初始化
原文:
Initialization
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
原文:
Literals
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
布尔文字
nullptr (C++11)
用户定义的 (C++11)
表达式
原文:
Expressions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
另一种表示形式
实用工具
原文:
Utilities
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
类型
原文:
Types
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
typedef declaration
声明类型别名 (C++11)
属性 (C++11)
施放
原文:
Casts
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
隐式转换
const_cast conversion
static_cast conversion
dynamic_cast conversion
reinterpret_cast conversion
C-风格和功能转换
内存分配
原文:
Memory allocation
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
原文:
Classes
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
类特定的功能特性
原文:
Class-specific function properties
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
虚函数
覆盖说明 (C++11)
最后说明 (C++11)
明确的 (C++11)
静态的
特殊的成员函数
原文:
Special member functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
模板
原文:
Templates
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
类模板
函数模板
模板特化
参数包 (C++11)
杂项
原文:
Miscellaneous
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
内联汇编
 

转义序列用来在字符串字面值字符字面量中表示某些特殊字符。

可以使用下列转义序列。实现可以提供其他的转义序列:

转义序列 描述 代表字符
\' 单引号 byte 0x27 (在ASCII编码中)
\" 双引号 byte 0x22(在ASCII编码中)
\? 问号 byte 0x3f(在ASCII编码中)
\\ 反斜杠 byte 0x5c(在ASCII编码中)
\a 响铃 byte 0x07(在ASCII编码中)
\b 退格 byte 0x08(在ASCII编码中)
\f 换页 byte 0x0c(在ASCII编码中)
\n 换行 byte 0x0a(在ASCII编码中)
\r 回车 byte 0x0d(在ASCII编码中)
\t 水平制表 byte 0x09(在ASCII编码中)
\v 垂直制表 byte 0x0b(在ASCII编码中)
\nnn 任意八进制值 byte nnn
\xnn 任意十六进制值 byte nn
\u
原文:
nnnn
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
通用字符名,用以表示任意Unicode
可能得到多个字符
code point U+nnnn
\U
NNNNNNNN
原文:
nnnnnnnn
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
通用字符名,用以表示任意Unicode
可能得到多个字符
code point U+nnnnnnnn

[编辑] 注释

八进制转义序列中,\0最为常用,因为它表示null结尾的字符串中的终止符。

换行符\n在文本模式输入输出时具有特殊的意义,它将被转换为和操作系统相关的换行符字节或字节序列。

八进制转义序列限制为三个八进制数字,但是八进制转义序列会在之后第一个非有效的八进制数字处终止,若其出现的话。

十六进制转义序列没有长度限制,在第一个非有效十六进制数字出终止。如果一个十六进制转义序列表示的值不符合当前字符串字面值使用的字符类型(charchar16_tchar32_twchar_t)的范围,则没有规定其结果。

窄字符串字面值和char16_t字符串字面值中的通用字符名可能映射到多个字符。例如\U0001f34c在UTF-8编码中占4个char代码单元(\xF0\x9F\x8D\x8C),在UTF-16编码中占2个char16_t代码单元。

问号转义序列\?被用作防止在字符串字面值中解释为三字符符号:字符串"??/"会被作为"\"编译;但如果转义第二个问号,即"?\?/", 则会成为"??/"}}。

[编辑] 示例

#include <iostream>
 
int main()
{
    std::cout << "This\nis\na\ntest\n\nShe said, \"How are you?\"\n";
}

输出:

This
is
a
test
 
She said, "How are you?"

[编辑] 参见