string raw_str = R"(R"(foo)")";
如果我在原始字符串中有R"()"
这样的内容,会导致解析器产生混淆(即,它认为最左边的)"
是原始字符串的结尾)。我该如何转义?
原始字符串字面值的格式为:R"delimiter( raw_characters )delimiter"
,详情请参见Raw-string literals[2]。
因此,您可以使用一个不在字符串中的不同分隔符(delimiter),例如:
string raw_str = R"~(R"(foo)")~";
原始字符串在遇到第一个 )"
时会终止。您可以将分隔符更改为例如 ***
:
string raw_str = R"***(R"(foo)")***";