C++ 可以在原始字符串文本中插入转义序列吗?

C++ 可以在原始字符串文本中插入转义序列吗?,c++,string-literals,C++,String Literals,如果我想减少文件中的行数,该怎么办 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 ==

如果我想减少文件中的行数,该怎么办

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: \u041F\u0420\u0418\u0412\u0415\u0422 \n";
auto u8Rs = u8R"u8R(UTF-8 encoded string literal: \u041F\u0420\u0418\u0412\u0415\u0422
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: \u041F\u0420\u0418\u0412\u0415\u0422 \n";
auto u8Rs = u8R"u8R(UTF-8 encoded string literal: )u8R" u8"\u041F\u0420\u0418\u0412\u0415\u0422" u8R"u8R(
some additional stuff I want to add 
to the previous string literal
because requirements slightly changed
or something)u8R";

是的,很难看。我会认真考虑它是否比一个非原始文字的替代品更丑陋。在节省垂直编辑器空间的情况下,我会说不要。使用原始文字,让人们假设他们看到的正是他们得到的,而不是隐藏额外的换行符。

不,原始意思是原始。如果愿意,可以将原始文字与常规文字连接起来。欢迎使用。嗯,那你试过什么?一般来说,SO不会根据用户的要求编写软件,我们希望您可以尝试一下。你有一些代码,那么你的编译器是如何抱怨的呢?