string raw_str = R"(R"(foo)")";
如果我在原始字符串中有R"()"
,那会导致解析器混淆。 (即,它认为最左边的)"
是原始字符串的结尾。
如何逃避这个?
答案 0 :(得分:16)
raw-string literals [2]的格式为:R"delimiter( raw_characters )delimiter"
因此您可以使用不在字符串中的其他分隔符:
string raw_str = R"~(R"(foo)")~";
答案 1 :(得分:6)
原始字符串将在它看到的第一个)"
后终止。您可以将分隔符更改为***
,例如:
string raw_str = R"***(R"(foo)")***";