是否可以在原始字符串文本中插入转义序列?
Is it possible to insert escape sequence in a raw string literal?
如果我想让它在我的文件中消耗更少的行怎么办?
auto rsl = R"rsl(==== WELCOME ===
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Pellentesque sed scelerisque purus. Nulla facilisi.
Suspendisse laoreet mattis urna sit amet suscipit.
===== Thanks for your attention ====)rsl";
我可以在这个原始字符串文字上撒上转义字符吗,例如:
auto rsl = R"rsl(==== WELCOME ===n
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Pellentesque sed scelerisque purus. Nulla facilisi.
Suspendisse laoreet mattis urna sit amet suscipit.n
===== Thanks for your attention ====)rsl";
或者更好的情况是,如果我必须懒惰地将一些编码的 utf-8 文字复制粘贴到原始字符串文字中,如下所示:
auto u8 = u8"UTF-8 encoded string literal: u041Fu0420u0418u0412u0415u0422 n";
auto u8Rs = u8R"u8R(UTF-8 encoded string literal: u041Fu0420u0418u0412u0415u0422
some additional stuff I want to add
to the previous string literal
because requirements slightly changed
or something)u8R";
因为在这些情况下输出会大不相同
虽然通常最好坚持使用一种或另一种类型的文字,但您可以在串联中混合使用原始文本和非原始文本:
auto u8 = u8"UTF-8 encoded string literal: u041Fu0420u0418u0412u0415u0422 n";
auto u8Rs = u8R"u8R(UTF-8 encoded string literal: )u8R" u8"u041Fu0420u0418u0412u0415u0422" u8R"u8R(
some additional stuff I want to add
to the previous string literal
because requirements slightly changed
or something)u8R";
是的,它很丑。我会认真考虑它是否比单个非原始文字的替代方案更丑陋。在节省垂直编辑器空间的情况下,我会说不要。使用原始文字,让人们假设他们所看到的正是他们得到的,而不是隐藏额外的换行符。
相关文章:
- 如何在C++中用'\'替换''来处理转义序列?
- 是否可以在原始字符串文本中插入转义序列?
- 使用无法适应其相关类型的转义序列
- C++二进制值的转义序列
- 使变量字符串忽略转义序列
- "Delete"的转义序列
- getchar() 避免转义序列
- GCC 编译时出现警告:未知转义序列:"\040"
- C++ 中转义序列的数据类型
- 如何在 QString 中解析转义序列
- "'"转义序列的目的是什么?
- 在键值内插入无序列图中字符的对值
- C++ 无法识别的转义序列
- lex 中 OR ( | ) 的转义序列
- 转义序列?在 Qstring 中使用引号
- <<未找到运算符和无法识别的转义序列
- 调用 AINSI 转义序列时避免换行
- cmake 在窗口上生成错误,因为它使用 作为转义序列
- 如何分析具有原始转义序列的字符串
- 十六进制转义序列的最大长度