使用无法适应其相关类型的转义序列
Using an escape sequence that can't fit in its related type
wI在C++Primer中读到,使用大于其最大相关类型的文字是一个错误,但在互联网上发现转义序列并非如此。
那么,使用无法适应其相关类型的转义序列是错误还是未定义的行为呢
例如x1234
。假设Latin-1字符集和一个字节是8位,这不适合char
,但仍然是有效的书写文字。
这是实现定义的char
和wchar_t
的行为,以及每个[lex.con]/8 的char8_t
、char16_t
和char32_t
的未定义行为
转义
ooo
由反斜杠和一个、两个或三个八进制数字组成,用于指定所需字符的值。转义xhhh
由反斜杠、x和一个或多个十六进制数字组成,这些数字用于指定所需字符的值。十六进制序列中的位数没有限制。八进制或十六进制数字的序列分别由第一个不是八进制数字或十六进制的字符终止如果字符文字的值不在为char
(用于无前缀的字符文字(或wchar_t
(用于带L前缀的字符字面值(定义的实现定义范围内,则该值是实现定义的。[注意:如果前缀为u
、u8
或U
的字符文字的值超出了为其类型定义的范围,则程序格式错误。--结束注释]
emphasis mine
注释为非规范性注释,但同一节的第3、4和5段涵盖了注释中的文本。
相关文章:
- 如何在C++中用'\'替换''来处理转义序列?
- 是否可以在原始字符串文本中插入转义序列?
- 使用无法适应其相关类型的转义序列
- C++二进制值的转义序列
- 使变量字符串忽略转义序列
- "Delete"的转义序列
- getchar() 避免转义序列
- GCC 编译时出现警告:未知转义序列:"\040"
- 二进制要找到什么类型的序列化
- 指针引用类型的序列
- C++ 中转义序列的数据类型
- 如何在 QString 中解析转义序列
- "'"转义序列的目的是什么?
- C++ 无法识别的转义序列
- 提高不透明类型的序列化
- lex 中 OR ( | ) 的转义序列
- 转义序列?在 Qstring 中使用引号
- 如何从 QDataStream 中读取多个相同类型的序列化对象
- <<未找到运算符和无法识别的转义序列
- 调用 AINSI 转义序列时避免换行