15
  string raw_str = R"(R"(foo)")";

如果我有R"()"一个原始字符串,这会导致解析器混淆。(即,它认为最左边)"是原始字符串的结尾。

我该如何逃脱呢?

4

2 回答 2

28

原始字符串文字[ 2 ]的格式为:R"delimiter( raw_characters )delimiter"

因此您可以使用不在字符串中的其他分隔符,例如:

string raw_str = R"~(R"(foo)")~";
于 2018-03-21T21:20:12.377 回答
10

原始字符串将在)"它看到的第一个之后终止。您可以将分隔符更改***为例如:

string raw_str = R"***(R"(foo)")***";
于 2018-03-21T21:19:44.857 回答